Commit graph

20113 commits

Author SHA1 Message Date
Tim Gross b9842c32c1 docs: enumerate required cgroups for exec driver 2020-11-25 09:41:37 -05:00
Mahmood Ali b2a8752c5f
honor task user when execing into raw_exec task (#9439)
Fix #9210 .

This update the executor so it honors the User when using nomad alloc exec. The bug was that the exec task didn't honor the init command when execing.
2020-11-25 09:34:10 -05:00
Tim Gross 481f91034c
E2E: CSI driver provisioning (#9443)
* e2e/csi: wait longer for plugins to become healthy

Plugins are Docker containers, and as such sometimes we get delays in startup
due to pulling from the registry and this is a source of test flakiness. Give
the plugins a little longer to start up.

* e2e/csi: version bump for AWS EBS plugins
2020-11-25 09:05:22 -05:00
Seth Hoenig 74a34704c5
Merge pull request #8743 from hashicorp/f-task_network_warning
Validate and document 0.12 mbits/network deprecations
2020-11-23 15:36:18 -06:00
Drew Bailey c8b1a84d1e
Events/mv structs (#9430)
* move structs to structs/event.go to avoid import cycle
2020-11-23 14:01:10 -05:00
Seth Hoenig 3fe3259d32 docs: update changelog with group/task network labels fix 2020-11-23 12:56:54 -06:00
Seth Hoenig a35c0db6c7 nomad/structs: validate deprecated task.resource.network port labels
Enable users to submit jobs that still make use of the deprecated
task.resources.network stanza. Such jobs can be submitted, but
will emit a warning.
2020-11-23 12:40:40 -06:00
Tim Gross d686a51d60
e2e: prevent Ubuntu startup race conditions (#9428)
The cloud-init configuration runs on boot, which can result in a race
condition between that and service startup. This has caused provisioning
failures because Nomad expects the userdata to have configured a host volume
directory. Diagnosing this was also compounded by a warning being fired by
systemd for the Nomad unit file.

* Update the location of the `StartLimitIntervalSec` field to it's
  post-systemd-230 location.
* Ensure that the weekly AMI build is up-to-date to reduce the risk of
  unexpected system software changes.
* Move the host volume to a directory we can set up at AMI build time rather
  than in userdata.
2020-11-23 12:29:08 -05:00
Seth Hoenig 3c17dc2ecc api: safely access legacy MBits field 2020-11-23 10:36:10 -06:00
Nick Ethier 3483f540b6 api: don't break public API 2020-11-23 10:36:10 -06:00
Nick Ethier 5cac8f45b7 vendor: sync api 2020-11-23 10:33:28 -06:00
Nick Ethier f1ea79f5a8 remove references to default mbits 2020-11-23 10:32:13 -06:00
Nick Ethier e8784c919f e2e: update jobs to use new network stanza format 2020-11-23 10:25:30 -06:00
Nick Ethier c9bd7e89ca command: use correct port mapping syntax in examples 2020-11-23 10:25:30 -06:00
Nick Ethier d21cbeb30f command: remove task network usage from init examples 2020-11-23 10:25:11 -06:00
Nick Ethier 9471892df4 mock: add default host network 2020-11-23 10:11:00 -06:00
Nick Ethier 7266376ae6 nomad: update validate to check group networks for task port usage 2020-11-23 10:11:00 -06:00
Nick Ethier 8efa3c355a website: add mbits field back to network docs with notice 2020-11-23 10:11:00 -06:00
Nick Ethier c4ddb0a43a website: add mbits and network deprecation notice 2020-11-23 10:09:36 -06:00
Luiz Aoqui 26913da7c0
Merge pull request #9427 from hashicorp/docs-fix-cpu-allocated-unit
docs: fix nomad.client.allocs.cpu.allocated metric unit
2020-11-23 10:31:05 -05:00
Luiz Aoqui f50740a66b
docs: fix nomad.client.allocs.cpu.allocated metric unit 2020-11-23 10:25:15 -05:00
Tim Gross b844aeabae docs: template signal change_mode not compatible with env
Only `change_mode = "restart"` will result in the template environment
variables being updated in the task. Clarify the behavior of the unsupported
options.
2020-11-23 10:11:03 -05:00
Chris Baker 6d7648670b
Merge pull request #9419 from hashicorp/api-event-stream-index
events: API event stream client should the index flag
2020-11-23 07:58:16 -06:00
Tim Gross 38120123c5
docs: add missing command documentation (#9415)
* `nomad operator keyring` was missing the general options section
* `nomad operator metrics` was missing a page in the docs entirely

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>
2020-11-23 08:10:10 -05:00
Chris Baker a659091fd9 api: Event().Stream() should use the index parameter 2020-11-21 16:49:52 +00:00
Chris Baker 00841a8525 events: e2e test that API client honors the index flag 2020-11-21 16:38:24 +00:00
Tim Gross f1ad512986 docs: describe required ACLs for all commands 2020-11-20 13:38:29 -05:00
Tim Gross 6cc5c40cdb docs: clarify default signal for raw_exec on Windows 2020-11-20 13:25:48 -05:00
Michael Schurter d8e3adfad9
Merge pull request #9407 from hashicorp/docs-0129-backports
Add backports to changelog and 0.12.9 to website
2020-11-20 09:09:47 -08:00
Tim Gross 4331e86e8e docs: move telemetry under operations
Create a new "Operating Nomad" section of the docs where we can put reference
material for operators that doesn't quite fit in either configuration file /
command line documentation or a step-by-step Learn Guide. Pre-populate this
with the existing telemetry docs and some links out to the Learn Guide
sections.
2020-11-20 11:05:27 -05:00
Michael Schurter 876144302a docs: avoid the regression in 0.12.[78]
The suggest version, 0.12.7, includes regressions that are best avoided
so steer users to 0.12.9.
2020-11-19 14:32:59 -08:00
Michael Schurter 1fedddd814 docs: update website to 0.12.9 2020-11-19 14:26:06 -08:00
Michael Schurter 85b71e76f7 docs: add 0.12.9, 0.11.8, and 0.10.9 to changelog
upstream fix: #9383

backport PRs: #9391, #9402, and #9405
2020-11-19 14:23:42 -08:00
Tim Gross de6b023af2 command: remove -namespace from help options when not applicable 2020-11-19 16:28:39 -05:00
Michael Schurter 0cd73b44e9 docs: add task_token_ttl default
See
https://github.com/hashicorp/nomad/blob/v0.12.7/nomad/vault.go#L36-L39
2020-11-19 16:14:25 -05:00
Tim Gross 716451b793 docs: template behavior warnings
* vault secrets named with `-` characters cannot be read by `consul-template`
  due to limitations in golang's template rendering engine.
* environment variables are not modified in running tasks if
`change_mode.noop` is set.
2020-11-19 16:06:48 -05:00
Tim Gross c1a3496a55 docs: remove -namespace option from commands when not applicable 2020-11-19 16:06:28 -05:00
Tim Gross d67afa2e21 docs/help: -no-color does not apply to alloc logs content
The `nomad alloc logs` command does not remove terminal escape sequences for
color from the log outputs of a task. Clarify that the standard `-no-color`
flag, which does apply to Nomad's error responses from `nomad alloc logs`,
does not apply to the log output.
2020-11-19 15:29:12 -05:00
Tim Gross 9788a514a0 docs: fix some markdown escaping errors 2020-11-19 14:11:53 -05:00
Tim Gross 47ce5ff471 docs: expand artifact getter options
Adds an example of using HTTP Basic Auth, git options, and using HCL2 syntax
to encode an SSH key from file.
2020-11-19 12:07:02 -05:00
Tim Gross 2139e029ec docs: make dispatch payload size limit unambiguous 2020-11-19 12:06:49 -05:00
Michael Schurter bbfaa5e9ad
Merge pull request #9383 from hashicorp/b-template-escape
client: fix interpolation in template source
2020-11-18 12:21:29 -08:00
Michael Schurter 43b225b19d e2e: test template path interpolation 2020-11-18 10:48:58 -08:00
Michael Schurter 15f2b8fe7c client: skip broken test and fix assertion 2020-11-18 10:01:02 -08:00
Michael Schurter 95979336b7
Merge pull request #9384 from hashicorp/docs-artifact-bug
docs: document artifact bug #6929
2020-11-18 09:20:45 -08:00
Tim Gross c320c1ba57
CSI: fix struct copying errors (#9239)
The CSIVolume struct "denormalizes" allocations when it's first queried from
the state store. The CSIVolumeByID method on the state store copies the volume
before denormalizing so that we don't end up with unexpected changes. The
copying has some subtle bugs that meant that Allocations (as well as
Topologies and MountOptions) were not getting copied when expected.

Also, ensure we never write allocations attached to volumes to the state store
during claims.
2020-11-18 10:59:25 -05:00
Chris Baker 6a4cdc3bb1
Merge pull request #9387 from hashicorp/docs-9386-alloc-job-api
document `api.Allocation.Job` field
2020-11-18 09:57:28 -06:00
Chris Baker c8364656e6 document api.Allocation.Job field, to address issue from #9386 2020-11-18 15:00:52 +00:00
Michael Schurter ff91bba70e client: fix interpolation in template source
While Nomad v0.12.8 fixed `NOMAD_{ALLOC,TASK,SECRETS}_DIR` use in
`template.destination`, interpolating these variables in
`template.source` caused a path escape error.

**Why not apply the destination fix to source?**

The destination fix forces destination to always be relative to the task
directory. This makes sense for the destination as a destination outside
the task directory would be unreachable by the task. There's no reason
to ever render a template outside the task directory. (Using `..` does
allow destinations to escape the task directory if
`template.disable_file_sandbox = true`. That's just awkward and unsafe
enough I hope no one uses it.)

There is a reason to source a template outside a task
directory. At least if there weren't then I can't think of why we
implemented `template.disable_file_sandbox`. So v0.12.8 left the
behavior of `template.source` the more straightforward "Interpolate and
validate."

However, since outside of `raw_exec` every other driver uses absolute
paths for `NOMAD_*_DIR` interpolation, this means those variables are
unusable unless `disable_file_sandbox` is set.

**The Fix**

The variables are now interpolated as relative paths *only for the
purpose of rendering templates.* This is an unfortunate special case,
but reflects the fact that the templates view of the filesystem is
completely different (unconstrainted) vs the task's view (chrooted).
Arguably the values of these variables *should be context-specific.*
I think it's more reasonable to think of the "hack" as templating
running uncontainerized than that giving templates different paths is a
hack.

**TODO**

- [ ] E2E tests
- [ ] Job validation may still be broken and prevent my fix from
      working?

**raw_exec**

`raw_exec` is actually broken _a different way_ as exercised by tests in
this commit. I think we should probably remove these tests and fix that
in a followup PR/release, but I wanted to leave them in for the initial
review and discussion. Since non-containerized source paths are broken
anyway, perhaps there's another solution to this entire problem I'm
overlooking?
2020-11-17 22:03:04 -08:00
Michael Schurter cb9f9800bf docs: document artifact bug #6929 2020-11-17 22:00:21 -08:00