Mahmood Ali
df694eb3be
Regenerate proto files with protoc-gen-go@v1.2.0
2018-11-14 09:01:26 -05:00
Mahmood Ali
851b275afc
Merge pull request #4858 from hashicorp/b-fix-master-20181109
...
Fix some tests in master
2018-11-13 16:08:26 -05:00
Alex Dadgar
6d0cd01a6a
Merge pull request #4868 from hashicorp/b-plugin-ctx
...
Plugin client's handle plugin dying
2018-11-13 10:26:53 -08:00
Mahmood Ali
9d6a362b94
Use materialized duration fields for driver config
2018-11-13 10:21:40 -05:00
Mahmood Ali
9254bdb92e
Avoid downloading image if present locally
2018-11-13 10:21:40 -05:00
Mahmood Ali
6b8c6836a9
Prioritize checking consumer context cancellation
...
Tests expect that as soon as eventer shuts down immediately on context
cancellations; but golang does not guarantee priority when multiple
pending channels are ready in a select statement.
2018-11-13 10:21:40 -05:00
Mahmood Ali
8ccb80bcea
pull alpine image needed for test
...
The test requires the image to be present locally, so importing it as
part of setup.
2018-11-13 10:21:40 -05:00
Mahmood Ali
416b5240f4
Handle time.Duration in mock
...
Mock driver config uses `time.Duration` fields but we initialize them
inconsistently, as time.Duration sometimes and as duration strings other
times. Previously, `mapstructure` handles it and does the right thing.
This is no longer the case with MsgPack. I could not find a good way to
bring back old behavior without too much complexity. `MsgPack` extended
types weren't ideal here as we lose type information (e.g. int64 vs
string), and the input is a generic map and not a MsgPack serialization
of duration.
As such, I went with the simple solution of declaring the config field
as duration string, and panicing if the test doesn't pass a valid
string.
I found this to cause the smallest change in tests, but we can
alternatively force all to be int64 instead.
2018-11-13 10:21:40 -05:00
Mahmood Ali
cc52606a07
distinguish java driver tests from others
2018-11-13 10:21:40 -05:00
Mahmood Ali
a24fd59d4b
Fix java driver tests
2018-11-13 10:21:40 -05:00
Mahmood Ali
66fc70fe50
Merge pull request #4845 from hashicorp/r-exec-refactor
...
Update exec driver to match rawexec
2018-11-12 20:59:32 -05:00
Alex Dadgar
9d42f4d039
Plugin client's handle plugin dying
...
This PR plumbs the plugins done ctx through the base and driver plugin
clients (device already had it). Further, it adds generic handling of
gRPC stream errors.
2018-11-12 17:09:27 -08:00
Danielle Tomlinson
1a17741e86
rawexec: Only use cgroups when running as root.
...
If Nomad is not running as root, we should not try to use cgroups for pid
freezing.
This originally was implemented pre-driver-support in
https://github.com/hashicorp/nomad/blob/v0.8.6/client/driver/raw_exec.go#L120-L130
2018-11-10 06:45:11 -08:00
Mahmood Ali
82b1764531
handle nil resources limits
...
Config may not express resource constraints on the job!
2018-11-09 15:52:44 -05:00
Mahmood Ali
26fc1b140f
shorter health descriptions
2018-11-08 10:00:49 -08:00
Mahmood Ali
60166374d9
Add a helper functions for checking unix root
2018-11-08 10:00:49 -08:00
Mahmood Ali
c794e70c4d
Update exec driver to match rawexec
...
Update exec driver with latest patterns used by rawexec, and eliminate
accidental diffs.
2018-11-08 10:00:49 -08:00
Alex Dadgar
ad4c26a1e3
review comments
2018-11-07 11:31:52 -08:00
Alex Dadgar
57f40c7e3e
Device manager
...
Introduce a device manager that manages the lifecycle of device plugins
on the client. It fingerprints, collects stats, and forwards Reserve
requests to the correct plugin. The manager, also handles device plugins
failing and validates their output.
2018-11-07 10:43:15 -08:00
Mahmood Ali
62d24ce9ef
reconcile java with latest patterns
2018-11-06 12:49:29 -08:00
Mahmood Ali
12149c3804
driver/java: support non-linux targets
...
Java driver supports non-linux targets, so LinuxResources fields isn't
guaranteed to be not-nil.
2018-11-06 12:41:39 -08:00
Mahmood Ali
dc0d244dd8
Reconcile with latest master patterns
2018-11-06 12:41:39 -08:00
Mahmood Ali
0022496e5b
add java driver tests
2018-11-06 12:41:39 -08:00
Mahmood Ali
f7d83d7e80
Implement java driver
2018-11-06 12:41:39 -08:00
Michael Schurter
8122c76cd6
Merge pull request #4828 from hashicorp/b-restore
...
Implement client agent restarting
2018-11-05 18:50:15 -06:00
Michael Schurter
fdbe446ea6
client: first pass at implementing task restoring
...
Task restoring works but dead tasks may be restarted
2018-11-05 12:32:05 -08:00
Mahmood Ali
11a64f1332
Merge pull request #4826 from hashicorp/b-driver-exec-tweaks-20181031
...
Register exec driver plugin among some fixes
2018-11-02 10:11:05 -04:00
Mahmood Ali
6b79e5bd12
add plugin config
2018-11-02 08:51:23 -04:00
Michael Schurter
ce604b8b86
rkt: standardize names/code
2018-11-01 15:53:07 -07:00
Michael Schurter
4d707b5e8c
rawexec: standardize names/code
2018-11-01 15:53:07 -07:00
Michael Schurter
84c8dbe5c9
qemu: standardize names/code
2018-11-01 15:53:07 -07:00
Michael Schurter
e949416e12
drivers/mock: standardize names/code
2018-10-31 11:52:51 -07:00
Mahmood Ali
a5e1e4b59e
Register exec driver plugin among some fixes
...
Namely, remove the `enabled` configuration flag, as it's specific to
`raw_exec` driver. Also, pass resource limits to underlying call.
2018-10-31 13:55:59 -04:00
Michael Schurter
55d79c6022
mock_driver: match other's fingerprint message
2018-10-30 17:38:23 -07:00
Michael Schurter
864d545284
rkt: fix race, register by default, fix fingerprint
2018-10-30 17:37:00 -07:00
Michael Schurter
8f78d1d164
qemu: fix fingerprint description and handle race
2018-10-30 17:34:08 -07:00
Michael Schurter
0d1a8bf7fd
rawexec: fix fingerprint results and tests
...
In tests:
* always cleanup (Kill) the harness
* don't call SetConfig more than once (a race)
* avoid cgroups to allow running without being root
2018-10-30 17:16:22 -07:00
Michael Schurter
7d250fc58c
rawexec: fix race around h.procState
2018-10-30 17:15:47 -07:00
Michael Schurter
9fb39b35c6
drivers: remove stutter from exported driver names
...
Also fix a comment on the logger that got copy/pasted around.
2018-10-30 14:05:31 -07:00
Michael Schurter
7d28d346d5
qemu: fix build and register by default
...
API changes had broken the build.
2018-10-29 22:10:37 -07:00
Nick Ethier
da7563b8c3
Merge pull request #4795 from hashicorp/f-plugin-config
...
Pass client configuration to plugins through loader
2018-10-29 18:42:27 -07:00
Nick Ethier
95d381cff7
rename NomadConfig to ClientAgentConfig
2018-10-29 21:34:34 -04:00
Preetha Appan
9937dc93b9
Merge branch 'f-driver-plugin-qemu' of github.com:hashicorp/nomad into f-driver-plugin-qemu
2018-10-25 13:51:58 -05:00
Preetha Appan
0ec59305ee
remove driver config struct from qemu driver since its not used
2018-10-25 13:51:06 -05:00
Michael Schurter
76ad56c73f
Fix hclog log line formatting
...
Co-Authored-By: preetapan <preetha@hashicorp.com >
2018-10-25 13:47:17 -05:00
Preetha Appan
c99b8701de
Fix imports
2018-10-25 13:45:44 -05:00
Michael Schurter
1744b4d123
Fix copy pasted comment
...
Co-Authored-By: preetapan <preetha@hashicorp.com >
2018-10-25 13:43:29 -05:00
Michael Schurter
2101d58d0f
remove newline
...
Co-Authored-By: preetapan <preetha@hashicorp.com >
2018-10-25 13:42:20 -05:00
Michael Schurter
2cf48b931d
update comment
...
Co-Authored-By: preetapan <preetha@hashicorp.com >
2018-10-25 13:41:24 -05:00
Michael Schurter
1f87a25d54
Remove unnecessary return
...
Co-Authored-By: preetapan <preetha@hashicorp.com >
2018-10-25 13:40:28 -05:00