Commit Graph

13687 Commits

Author SHA1 Message Date
Michael Schurter
3e7fa0072a Merge pull request #5043 from hashicorp/b-taskenv-conflicts
taskenv: have maps take precedence over primitives
2019-01-07 12:34:48 -08:00
Danielle Tomlinson
8131eceb12 Merge pull request #5148 from hashicorp/dani/f-e2e-consul
e2e: Add consultemplate test
2019-01-07 17:54:20 +01:00
Danielle Tomlinson
646e077d32 e2e: Add consultemplate test
This adds a basic test for consul template, that verifies the behaviour
of consul-template with task blocking and restarting of tasks
2019-01-07 17:53:55 +01:00
Preetha
b744fb1b7f Merge pull request #5156 from hashicorp/f-standard-driver-health-messages
Standardize driver health description messages for all drivers
2019-01-07 09:49:28 -06:00
Preetha Appan
26594aa31e Standardize driver health description messages for all drivers 2019-01-06 22:06:38 -06:00
Preetha
511f680066 Merge pull request #5155 from hashicorp/b-remove-rkt-logging
remove unnecessary logging in rkt driver fingerprint method
2019-01-06 21:37:58 -06:00
Preetha Appan
b8cbcdb371 remove unnecessary logging in rkt driver fingerprint method 2019-01-06 20:59:20 -06:00
Danielle Tomlinson
ad51e6cb24 Merge pull request #5149 from hashicorp/dani/e2e-friendly
e2e: Output setup instructions after terraform
2019-01-04 22:14:03 +01:00
Mahmood Ali
53aa449aa7 Merge pull request #5150 from hashicorp/b-task-received-event
taskrunner: emit TaskReceived event
2019-01-04 14:58:39 -05:00
Mahmood Ali
17b7490891 taskrunner: emit TaskReceived event
Preserve pre-0.9, where task runner emits `Received: Task received by
client` event on task runner creation.
2019-01-04 14:32:29 -05:00
Chris Baker
687e1cf0fe Merge pull request #5146 from hashicorp/b-1173-log-spam
updated to latest hashicorp/raft and hashicorp/memberlist to pull
2019-01-04 12:55:18 -05:00
Chris Baker
8c10992e78 Merge branch 'master' of github.com:hashicorp/nomad into b-1173-log-spam 2019-01-04 16:56:34 +00:00
Chris Baker
a9666e59b3 updated serf along with raft 2019-01-04 16:56:26 +00:00
Danielle Tomlinson
b51021ac28 e2e: Output setup instructions after terraform
This adds a message that provides environment setup instructions for
running e2e tests after running terraform apply.

This allows copy/pasting exports, rather than manually constructing
them.
2019-01-04 16:55:14 +01:00
Mahmood Ali
5805c64a9f driver/exec: use dedicated /dev mount (#5147)
Use a dedicated /dev mount so we can inject more devices if necessary,
and avoid allowing a container to contaminate host /dev.

Follow up to https://github.com/hashicorp/nomad/pull/5143 - and fixes master.
2019-01-04 10:36:05 -05:00
Chris Baker
5c007301b9 Merge branch 'master' of github.com:hashicorp/nomad into b-1173-log-spam 2019-01-04 14:59:26 +00:00
Chris Baker
ad320b803a updated to latest hashicorp/raft and hashicorp/memberlist to pull
upstream fixes for accept-loop error handling
2019-01-04 14:01:36 +00:00
Mahmood Ali
4402b6635f Merge pull request #5143 from hashicorp/b-exec-regressions
Restore some `exec` behavior
2019-01-04 08:58:40 -05:00
Mahmood Ali
bce7c9372d goimport file 2019-01-04 08:53:50 -05:00
Preetha Appan
21810d0edd Added waiting on client node ready state before running e2e tests 2019-01-03 16:16:20 -06:00
Preetha
9a514aabd3 Update README.md 2019-01-03 16:15:59 -06:00
Preetha
38929049f4 Update README.md 2019-01-03 15:31:19 -06:00
Michael Schurter
d2c81c375c Merge pull request #5038 from hashicorp/b-drivermanager-tests
WIP: fix failing tests caused by async driver manager
2019-01-03 12:32:18 -08:00
Preetha Appan
36b5435ed3 Increase alloc wait timeout in e2e test 2019-01-03 14:02:02 -06:00
Mahmood Ali
ff9a4a17e5 drivers/exec: bind mount /dev into rootfs
Restores pre-0.9 behavior, where Nomad makes /dev available to exec
task.  Switching to libcontainer, we accidentally made only a small
subset available.

Here, we err on the side of preserving behavior of 0.8, instead of going
for the sensible route, where only a reasonable subset of devices is
mounted by default and user can opt to request more.
2019-01-03 14:29:18 -05:00
Mahmood Ali
41d6635026 drivers/exec: run as nobody by default
libcontainer based drivers (e.g. exec, java) should default to running
processes as `nobody` [1]; but libcontainer treats empty user as `root`
in our case (either because of default or due to `root` being current
user).

[1] 94c28a4c6c/website/source/docs/job-specification/task.html.md (task-parameters)
2019-01-03 14:29:18 -05:00
Preetha
70d7a63deb Update e2e readme 2019-01-03 13:24:58 -06:00
Preetha
4d6bf2a68b Update README.md 2019-01-03 13:19:04 -06:00
Preetha
136e690d3e Update README.md 2019-01-03 12:12:43 -06:00
Danielle Tomlinson
1209d03a5c Merge pull request #5142 from hashicorp/dani/cleanup-allocrunner-logs
allocrunner: Standardised discard logs
2019-01-03 18:40:48 +01:00
Preetha Appan
1cfef83302 Increase timeout in e2e test 2019-01-03 11:22:21 -06:00
Preetha
5673a2c33d Merge pull request #5140 from hashicorp/dani/b-taskrunner
taskrunner: Persist environment from hooks
2019-01-03 09:30:52 -06:00
Danielle Tomlinson
634c6a85e0 Merge pull request #5141 from hashicorp/dani/fix-static-checks
Fix `make check`
2019-01-03 14:40:25 +01:00
Danielle Tomlinson
acf2c524f3 allocrunner: Standardised discard logs
Follow up from https://github.com/hashicorp/nomad/pull/5007#pullrequestreview-186739124
2019-01-03 14:04:31 +01:00
Danielle Tomlinson
002f19085a e2e: goimports e2eutil/utils.go 2019-01-03 13:31:49 +01:00
Danielle Tomlinson
5dadb6cc7e chore: Fix environement->environment typo 2019-01-03 13:31:30 +01:00
Danielle Tomlinson
749eab7257 chore: Fix environement->environment typo 2019-01-03 13:31:26 +01:00
Danielle Tomlinson
26b5ad4532 Merge pull request #5041 from hashicorp/dani/b-driver-healt
drivers: Cleanup root user fingerprinting
2019-01-03 13:16:28 +01:00
Danielle Tomlinson
54dde24bcb taskrunner: Persist environment from hooks
https://github.com/hashicorp/nomad/pull/5032 introduced a regression
where the origHookState was used in place of the response from the hook.
2019-01-03 13:13:57 +01:00
Preetha
c64b41d154 Merge pull request #5037 from hashicorp/f-e2e-spread
e2e tests for spread stanza
2018-12-20 15:39:08 -06:00
Alex Dadgar
c54aad6231 Merge pull request #5032 from hashicorp/f-driver-env
Store device envs separately and pass to drivers
2018-12-20 13:38:27 -08:00
Preetha Appan
4064748215 Clean up map update code 2018-12-20 15:12:48 -06:00
Michael Schurter
748bc58cb2 taskenv: have maps take precedence over primitives
**The Bug:**

You may have seen log lines like this when running 0.9.0-dev:

```
... client.alloc_runner.task_runner: some environment variables not available for rendering: ... keys="attr.driver.docker.volumes.enabled, attr.driver.docker.version, attr.driver.docker.bridge_ip, attr.driver.qemu.version"
```

Not only should we not be erroring on builtin driver attributes, but the
results were nondeterministic due to map iteration order!

The root cause is that we have an old root attribute for all drivers
like:

```
attr.driver.docker = "1"
```

When attributes were opaque variable names it was fine to also have
"nested" attributes like:

```
attr.driver.docker.version = "1.2.3"
```

However in the HCLv2 world the variable names are no longer opaque: they
form an object tree. The `docker` object can no longer both hold a value
(`"1"`) *and* nested attributes (`version = "1.2.3"`).

**The Fix:**

Since the old `attr.driver.<name> = "1"` attribues are useless for task
config interpolation, create a new precedence rule for creating the task
config evaluation context:

*Maps take precedence over primitives.*

This means `attr.driver.docker.version` will always take precedence over
`attr.driver.docker`. The results are determinstic and give users access
to the more useful metadata.

I made this a general precedence rule instead of special-casing driver
attrs because it seemed like better default behavior than spamming
WARNings to logs that were likely unactionable by users.
2018-12-20 11:37:46 -08:00
Nick Ethier
0b235d89d9 fix test 2018-12-20 13:54:29 -05:00
Nick Ethier
617d102ce4 command: wait for drivers to be ready before test 2018-12-20 13:52:33 -05:00
Nick Ethier
2c3b48279b Merge pull request #5036 from hashicorp/b-fix-release-build
client: add proper build flag to allocrunner testing.go
2018-12-20 13:32:28 -05:00
Danielle Tomlinson
aa6b170506 rkt: Return consistent error when not root 2018-12-20 13:02:46 +01:00
Danielle Tomlinson
aadb3df03c java: Return undetected when not running as root
This is an unrecoverable error, so we should only do this check once,
rather than returning unhealthy constantly.
2018-12-20 12:55:07 +01:00
Danielle Tomlinson
95dfb9f148 exec: Return undetected when not running as root
This is an unrecoverable error, so we should only do this check once,
rather than returning unhealthy constantly.
2018-12-20 12:54:19 +01:00
Danielle Tomlinson
4798dacafd plugins: Add consistent message for requires root 2018-12-20 12:54:01 +01:00