Commit Graph

13398 Commits

Author SHA1 Message Date
Mahmood Ali
5f124c7ce3 Update LXC with drivers/testutils changes (#4951) 2018-12-04 08:57:54 -05:00
Danielle Tomlinson
cd8c5c55bd Merge pull request #4925 from hashicorp/f-driver-plugins-dani
Third Party Driver Plugins Support
2018-12-03 20:48:19 +01:00
Michael Schurter
56bd482880 Merge pull request #4947 from githubfoam/update-demo-vagrantfile
no need to double the work
2018-12-03 11:17:08 -08:00
Mahmood Ali
813f0a2282 libcontainer to manage /dev and /proc (#4945)
libcontainer already manages `/dev`, overriding task_dir - so let's use it for `/proc` as well and remove deadcode.
2018-12-03 10:41:01 -05:00
githubfoam
4d5593921c no need to double the work 2018-12-02 01:03:44 +03:00
Danielle Tomlinson
113205318c plugins: Add support for serving driver plugins 2018-12-01 17:30:54 +01:00
Danielle Tomlinson
1c98fdf935 plugins: Move driver testing support to subpackage
this allows us to drop a cyclical import, but is subobptimal as it
requires BaseDriver tests to move. This falls firmly into the realm of
being a hack. Alternatives welcome.
2018-12-01 17:29:39 +01:00
Danielle Tomlinson
8a71b21fbe testfix: Fix import cycle in allocdir tests 2018-12-01 17:25:30 +01:00
Danielle Tomlinson
da48a7eab3 client: Move fingerprint structs to pkg
This removes a cyclical dependency when importing client/structs from
dependencies of the plugin_loader, specifically, drivers. Due to
client/config also depending on the plugin_loader.

It also better reflects the ownership of fingerprint structs, as they
are fairly internal to the fingerprint manager.
2018-12-01 17:10:39 +01:00
Mahmood Ali
8261f3ebf7 Update changelog (#4942)
Batch update for the PRs I recently merged.
2018-12-01 07:46:34 -05:00
Omar Khawaja
acae110c7b remove redirects for vault-integration docs (#4943) 2018-11-30 13:14:57 -05:00
Danielle Tomlinson
b8b4ce2fa6 Merge pull request #4936 from hashicorp/f-legacy-refactor
Refactor and repackage client/driver
2018-11-30 13:38:06 +01:00
Mahmood Ali
ef424132d0 Merge pull request #4926 from hashicorp/f-docker-image-ref
Use user provided image name to launch container
2018-11-30 07:27:39 -05:00
Mahmood Ali
5c354ad8fa Merge pull request #4924 from hashicorp/f-docker-mounts
Support bind and tmpfs docker mounts
2018-11-30 07:27:17 -05:00
Michael Schurter
fe238dc6e3 docs: Use valid docker bind propagation field
Co-Authored-By: notnoop <mahmood@notnoop.com>
2018-11-30 07:25:56 -05:00
Danielle Tomlinson
03db4cf82d client: Rename drivers/shared/env => client/taskenv 2018-11-30 12:18:39 +01:00
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
Nick Ethier
bff6484df3 Merge pull request #4906 from hashicorp/f-metric-prefix-master
Port metric prefix filtering to master
2018-11-29 22:27:47 -05:00
Nick Ethier
69e6b0ea21 nomad: fix hclog usage 2018-11-29 22:27:39 -05:00
Danielle Tomlinson
ac8adc2ca7 Merge pull request #4938 from hashicorp/b-fix-make
make: Fix invocation of vault e2e test
2018-11-29 21:15:06 +01:00
Omar Khawaja
c5905a9fc9 fix step 5 broken link (#4939) 2018-11-29 14:35:39 -05:00
Mahmood Ali
e78c4365a7 Merge pull request #4937 from hashicorp/b-vault-panic
vault: protect against empty Vault secret response

Fixes #4921

Sadly, we don't have proper mechanism to mock Vault client, so not sure how to best test this.

I inspected the Vault client interactions, specially for cases where returned value is nil even if the error is also nil.  I believe we covered all correctly now:
* [`v.client.Sys().InitStatus()`](f3853f11da/nomad/vault.go (L427)) - the value is non-nil boolean
* [`v.client.Sys().CapabilitiesSelf(path)`](f3853f11da/nomad/vault.go (L812)): Capabilities handles empty bodies in [`hasCapability`](f3853f11da/vendor/github.com/hashicorp/vault/api/sys_capabilities.go (L43-L45)) - also the `nil` array is handled with proper fail-safe default.
* [`v.client.Logical().Read(fmt.Sprintf("auth/token/roles/%s", role))`](f3853f11da/nomad/vault.go (L834-L840)) handles when `rsecret` is nil
2018-11-29 10:35:58 -05:00
Danielle Tomlinson
4dfd952e05 make: Fix invocation of vault e2e test 2018-11-29 15:37:26 +01:00
Mahmood Ali
f3853f11da vault: protect against empty Vault secret response
Also, fix a case where a successful second attempt of loading token can
cause a panic.
2018-11-29 09:34:17 -05: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