Alex Dadgar
6bb99c93d0
Review comments
2019-01-07 14:50:28 -08:00
Alex Dadgar
5424d3b540
vet
2019-01-07 14:49:41 -08:00
Alex Dadgar
19e67a0916
Test recovery
2019-01-07 14:49:41 -08:00
Alex Dadgar
144866a87b
Mock driver has recovery, stats
2019-01-07 14:49:40 -08:00
Alex Dadgar
b300306c4a
comments
2019-01-07 14:49:40 -08:00
Alex Dadgar
3257eb6d86
Fix hooks
2019-01-07 14:49:40 -08:00
Alex Dadgar
437f03d877
recover
2019-01-07 14:49:40 -08:00
Alex Dadgar
bdf4e1f89a
Don't log event error on driver shutdown
2019-01-07 14:49:40 -08: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
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
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
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
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
5dadb6cc7e
chore: Fix environement->environment typo
2019-01-03 13:31:30 +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
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
Nick Ethier
145827d8b7
fix tests that fail as a result of async client startup
2018-12-20 00:53:44 -05:00
Nick Ethier
848554ba61
client: add proper build flag to allocrunner testing.go
2018-12-19 20:22:07 -05:00
Michael Schurter
60522ac457
Merge pull request #5030 from hashicorp/test-client-statusupdate
...
client: assert alloc status updates work
2018-12-19 14:55:34 -08:00
Alex Dadgar
99df4c98c7
Store device envs separately and pass to drivers
2018-12-19 14:23:09 -08:00
Michael Schurter
d5f4de38f8
client: assert alloc status updates work
...
Re-enabling and updating an old test. Able to cut out a ton of extra
work by using WaitForRunning which does almost everything this test
needs.
2018-12-19 11:41:53 -08:00
Michael Schurter
f07fe3459a
client/state: missing deploy status isn't an error
...
Fixes TestClient_SaveRestoreState
2018-12-19 10:39:27 -08:00
Michael Schurter
75a889244e
tests: implement HasHealth for mock health
2018-12-19 10:39:27 -08:00
Michael Schurter
ab34578740
gofmt -s -w upgrade_int_test.go
2018-12-19 10:39:27 -08:00
Michael Schurter
fc7be6b7f0
client/state: improve upgradeTaskBucket error handling
...
And add a test
2018-12-19 10:39:27 -08:00
Michael Schurter
11e923e508
client/state: add context to errors
...
Unfortunately I don't know how to test these errors. As far as I can
tell they should only happen if there was a programming error in the
upgrade code or the underlying boltdb was corrupted somehow.
2018-12-19 10:39:27 -08:00
Michael Schurter
cba472485b
client/state: use 2 as version; test error path
2018-12-19 10:39:27 -08:00
Michael Schurter
784706a1e5
client/state: support upgrading from 0.8->0.9
...
Also persist and load DeploymentStatus to avoid rechecking health after
client restarts.
2018-12-19 10:39:27 -08:00
Michael Schurter
bd53ccf548
client/state: reorg state buckets to ease transition
...
* Prefix task bucket with task- to prevent name conflicts
* Shorten device manager bucket name
* Remove commented out outdated var
* Update layout comment
2018-12-19 10:22:28 -08:00
Michael Schurter
3a41fd7b31
tr: fix HookState Copy() and Equal() methods
...
They did not take into account the Env field.
2018-12-19 09:58:06 -08:00
Danielle Tomlinson
b63095db60
allocrunner: Close updates routine correctly
2018-12-19 18:32:51 +01:00
Nick Ethier
c98aaad342
devicemanager: fix devicemanager tests
2018-12-19 00:35:12 -05:00
Nick Ethier
1ff3b681da
drivermanager: use correct plugin config types
2018-12-18 23:07:01 -05:00
Nick Ethier
12528cadda
drivermanager: attempt to reattach and shutdown driver plugin if blocked by allow/block lists
2018-12-18 23:01:57 -05:00
Nick Ethier
6951ca487d
drivermanager: use allocID and task name to route task events
2018-12-18 23:01:51 -05:00
Nick Ethier
3100f7bd64
client/pluginmanager: add plugin manager interface to device/driver managers
2018-12-18 22:56:23 -05:00
Nick Ethier
331793e283
client: batch initial fingerprinting in plugin manangers
...
drivermanager: fix pr comments/feedback
2018-12-18 22:56:19 -05:00
Nick Ethier
2f010a2f25
client/drivermananger: fixup issues from rebase and address PR comments
2018-12-18 22:55:38 -05:00
Nick Ethier
32aaedd6b7
tr: deregister task handler on cleanup
2018-12-18 22:55:38 -05:00
Nick Ethier
39ca1b00dd
client/drivermananger: add driver manager
...
The driver manager is modeled after the device manager and is started by the client.
It's responsible for handling driver lifecycle and reattachment state, as well as
processing the incomming fingerprint and task events from each driver. The mananger
exposes a method for registering event handlers for task events that is used by the
task runner to update the server when a task has been updated with an event.
Since driver fingerprinting has been implemented by the driver manager, it is no
longer needed in the fingerprint mananger and has been removed.
2018-12-18 22:55:18 -05:00
Alex Dadgar
07a7555acd
lint
2018-12-18 16:48:00 -08:00
Alex Dadgar
ed4f8eac6e
Add plugin API versioning to plugin loader and plugins
2018-12-18 16:48:00 -08:00
Alex Dadgar
296141bb58
Merge pull request #5002 from hashicorp/b-task-config-resources
...
Convert driver resource to AllocatedTaskResource
2018-12-18 16:46:34 -08:00
Danielle Tomlinson
5d3e27e691
Merge pull request #5007 from hashicorp/dani/f-allocrunner-async
...
allocrunner: Async api for shutdown/destroy/update
2018-12-19 01:26:41 +01:00
Alex Dadgar
517bf1c35f
Fix unit tests + upgrade pathing resources
2018-12-18 15:50:44 -08:00
Alex Dadgar
d5512c39f0
Lint
2018-12-18 15:50:44 -08:00
Alex Dadgar
7a0b73341a
LinuxResources doesn't use task.Resources
2018-12-18 15:50:44 -08:00
Alex Dadgar
cd6879409c
Drivers
2018-12-18 15:50:11 -08:00
Alex Dadgar
da6925bfc1
utilities
2018-12-18 15:48:52 -08:00
Danielle Tomlinson
b92bc1178d
taskrunner: Use a random suffix for Task Config
...
The RestartCount is not really suitable for use as a source of
uniqueness within task invocations as it is not monotonic, and interacts
with the restart stanza in a users config, so conflates restarts due to
task failures, with restarts due to enviromental changes, such as consul
template or vault secrets changing.
Here we instead use a substring from a uuid, which is more random than
we strictly need, but is nicer than rolling our own random string
generator here.
2018-12-19 00:38:54 +01:00