Danielle Tomlinson
ca91d503ed
Revert accidental changes to vendor/
2018-11-30 11:01:09 +01:00
Danielle Tomlinson
17d14d7f52
executors: Unify go-plugin handshake
2018-11-30 10:59:23 +01:00
Danielle Tomlinson
756325bcbd
client: Merge driver/shared/structs and client/structs
2018-11-30 10:56:45 +01:00
Danielle Tomlinson
9d4329b57a
client/driver: Remove package
2018-11-30 10:47:08 +01:00
Danielle Tomlinson
9dedec5378
nomad: Remove on-submission job validation
...
With the introduction of driver plugins, we're temporarily relying on
_run time validation_ of driver configurations, rather than submission
time.
2018-11-30 10:47:08 +01:00
Danielle Tomlinson
5262e42d62
fixup: executorplugin: fix rkt build
2018-11-30 10:47:08 +01:00
Danielle Tomlinson
db31a9cd99
client/driver: Vendor setEnvvars into docker_test
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
75d333fe02
client: Move executor plugins into own package
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
d4ef3b68d9
driver: Flatten SetEnvvars into taskdirhook
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
5050c5ffed
command: Remove Extraneous field in nodedrain test
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
eeb0bbae9c
client: Move driver/logging to logmon/logging
...
The logging package is used by logmon and the legacy mock_driver. Because the
legacy drivers are going away, I'm moving it here to signify its actual
ownership.
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
bacd6175f5
client: Migrate DriverStats optout to drivers/shared/structs
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
c36bc2ce9b
client: Remove test dependency on client/driver
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
23197ec6b4
drivers: Create drivers/shared/structs
...
This creates a drivers/shared/structs package and moves the buffer size
checks into it.
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
d2136e0aa7
drivers: Move client/drivers/executor to drivers/shared/executor
2018-11-30 10:46:13 +01:00
Danielle Tomlinson
6756ffd052
drivers: Move client/drivers/env to drivers/shared/env
...
As part of deprecating legacy drivers, we're moving the env package to a
new drivers/shared tree, as it is used by the modern docker and rkt
driver packages, and is useful for 3rd party plugins.
2018-11-30 10:46:13 +01:00
Chris Baker
6f2502e803
Merge pull request #4932 from hashicorp/b-1172-rkt-env-vars
...
change to testing utilities to fix rkt tests
2018-11-29 09:18:10 -05:00
Nick Ethier
97c9e42fbe
Merge pull request #4922 from hashicorp/f-drivermananger
...
add generic plugin manager interface and orchestration
2018-11-28 22:17:04 -05:00
Chris Baker
72ca56dabe
testing: in MkAllocDir, do not update TaskConfig with All() from the task builder, just with Env() (because it pollutes environment variables with node attributes and fails the rkt tests)
2018-11-28 22:19:48 +00:00
Preetha
be65442002
Merge pull request #4919 from hashicorp/f-fingerprint-attribute-type
...
Modify fingerprint interface to use typed attribute struct
2018-11-28 14:18:28 -06:00
Preetha Appan
22ddb4d18d
Fix lxc test panic
2018-11-28 13:56:17 -06:00
Michael Schurter
8cdce8b257
Merge pull request #4894 from hashicorp/f-device-hook
...
Device hook and devices affect computed node class
2018-11-28 12:10:43 -06:00
Preetha Appan
76f27a111d
Fix failing lxc test
2018-11-28 11:05:35 -06:00
Preetha Appan
27fb643f5e
Fix LXC driver fingerprint to use typedattributes
2018-11-28 10:09:10 -06:00
Preetha Appan
d36ba880a3
Fix docker driver to use new fingerprint typed attributes
2018-11-28 10:01:03 -06:00
Preetha Appan
829bf74aa8
modify fingerprint interface to use typed attribute struct
2018-11-28 10:01:03 -06:00
Nick Ethier
6352052211
client/plugin: remove println from plugin group func
2018-11-27 22:45:09 -05:00
Nick Ethier
6ead1a8f72
client/plugin: lint/spelling errors
2018-11-27 22:45:09 -05:00
Nick Ethier
5b11495b31
client/plugin: add generic plugin mananger interface and orchestration
2018-11-27 22:45:03 -05:00
Mahmood Ali
4922256170
Merge pull request #4918 from hashicorp/f-lxc-driver
...
Add LXC driver
2018-11-27 22:06:42 -05:00
Mahmood Ali
aa28f71bbe
address review comments
2018-11-27 21:40:43 -05:00
Mahmood Ali
b546247626
Add Driver Plugin for LXC
2018-11-27 21:40:43 -05:00
Mahmood Ali
90daa8b2d3
Fixes in old lxc driver
2018-11-27 21:40:43 -05:00
Mahmood Ali
08349b5a94
Update go-lxc library to handle LXC 3.0
2018-11-27 21:40:43 -05:00
Michael Schurter
b959d9831c
add nil check around task resources in device hook
...
Looking at NewTaskRunner I'm unsure whether TaskRunner.TaskResources
(from which req.TaskResources is set) is intended to be nil at times or
if the TODO in NewTaskRunner is intended to ensure it is always non-nil.
2018-11-27 17:25:33 -08:00
Michael Schurter
c7b4ee1546
assume that slices contain only non-nil items
2018-11-27 17:25:33 -08:00
Michael Schurter
a13607f2d9
client: properly support hook env vars
...
The old approach was incomplete. Hook env vars are now:
* persisted and restored between agent restarts
* deterministic (LWW if 2 hooks set the same key)
2018-11-27 17:25:33 -08:00
Alex Dadgar
429c5bb885
Device hook and devices affect computed node class
...
This PR introduces a device hook that retrieves the device mount
information for an allocation. It also updates the computed node class
computation to take into account devices.
TODO Fix the task runner unit test. The environment variable is being
lost even though it is being properly set in the prestart hook.
2018-11-27 17:25:33 -08:00
Michael Schurter
60aadc853b
gofmt -s -w drivers/rkt/driver_test.go
2018-11-27 17:24:23 -08:00
Michael Schurter
e660046f06
Merge pull request #4896 from hashicorp/b-prevalloc-deadlock
...
Fix deadlock in previous alloc watcher by emitting last alloc update
2018-11-27 19:07:16 -06:00
Michael Schurter
3a61c2bb37
fix test breakage caused by rebase
2018-11-27 16:34:01 -08:00
Michael Schurter
518d03d7cd
fix mispelings
2018-11-27 16:33:55 -08:00
Chris Baker
e3108507c5
Merge pull request #4891 from hashicorp/b-1150-rkt-volume-names
...
drivers/rkt: fix invalid volumes
2018-11-27 18:55:00 -05:00
Chris Baker
f84045098c
change to docs in the driver proto to reflect standard pattern
2018-11-27 23:52:24 +00:00
Danielle Tomlinson
d361015562
Merge pull request #4909 from hashicorp/b-restart-delay
...
taskrunner: Return the restart delay correctly
2018-11-27 23:55:54 +01:00
Michael Schurter
748448970b
client: comment on importance of chan ops ordering
2018-11-27 14:11:32 -08:00
Mahmood Ali
9e1d51659b
Update client/structs/broadcaster.go
...
Co-Authored-By: schmichael <michael.schurter@gmail.com >
2018-11-27 14:06:08 -08:00
Michael Schurter
ff7df70f32
client: fix send-after-close in broadcaster
2018-11-27 14:06:08 -08:00
Michael Schurter
17a611bf98
client: check if prev alloc is already terminated
...
This is a defensive fast-path as 7c6aa0be already fixed the deadlock.
2018-11-27 14:06:08 -08:00
Michael Schurter
6d49163b12
client: emit last sent alloc to new listeners
...
Fixes a deadlock where the allocwatcher would block forever waiting for
an update from a terminal alloc.
Made the broadcaster easier to debug as well.
2018-11-27 14:06:08 -08:00