Michael Schurter
caf317e3f2
Use a DriverAbility to expose Exec functionality
2017-04-19 12:42:47 -07:00
Michael Schurter
e204a287ed
Refactor Consul Syncer into new ServiceClient
...
Fixes #2478 #2474 #1995 #2294
The new client only handles agent and task service advertisement. Server
discovery is mostly unchanged.
The Nomad client agent now handles all Consul operations instead of the
executor handling task related operations. When upgrading from an
earlier version of Nomad existing executors will be told to deregister
from Consul so that the Nomad agent can re-register the task's services
and checks.
Drivers - other than qemu - now support an Exec method for executing
abritrary commands in a task's environment. This is used to implement
script checks.
Interfaces are used extensively to avoid interacting with Consul in
tests that don't assert any Consul related behavior.
2017-04-19 12:42:47 -07:00
Alex Dadgar
4ecebe7d8c
Proper reference counting through task restarts
...
This PR fixes an issue in which the reference count on a Docker image
would become inflated through task restarts.
2017-03-25 17:05:53 -07:00
Michael Schurter
a724779720
Replace _
with -
in task names for rkt volumes
...
Fixes #2358
2017-03-07 14:34:57 -08:00
Alex Dadgar
f9323f03df
Drivers log during fingerprinting
...
This PR fixes a regression in which some drivers did not log during
fingerprinting.
2017-02-20 19:35:51 -08:00
Michael Schurter
295c2bf74a
Merge pull request #2186 from hashicorp/f-driver-cleanup
...
Add Cleanup method to Driver interface
2017-01-20 13:02:14 -08:00
Michael Schurter
a3a3656dbb
Switch to use recoverable errors from Cleanup
...
TaskRunner handles retrying but Cleanup handles all of CreatedResources.
2017-01-13 16:46:08 -08:00
Michael Schurter
dc68aa1a5a
Return errors from cleanup and let TaskRunner retry
2017-01-12 17:21:54 -08:00
Diptanu Choudhury
6809a4b104
Added executorconfig
2017-01-12 15:47:58 -08:00
Diptanu Choudhury
b1d0078db5
Filter executor log messages
2017-01-12 11:54:19 -08:00
Michael Schurter
4d081490e6
Add Cleanup method to Driver interface
...
Cleanup can be used for cleaning up resources created by drivers to run
a task. Initially the Docker driver is the only user (to remove
downloaded images).
2017-01-11 17:23:33 -08:00
Alex Dadgar
2be221d664
Don't retrieve Driver Stats if unsupported
...
This PR makes us only try to collect stats once if the Driver doesn't
support collecting stats.
Fixes https://github.com/hashicorp/nomad/issues/1986
2017-01-09 13:47:06 -08:00
Michael Schurter
3ea09ba16a
Move chroot building into TaskRunner
...
* Refactor AllocDir to have a TaskDir struct per task.
* Drivers expose filesystem isolation preference
* Fix lxc mounting of `secrets/`
2017-01-05 16:31:49 -08:00
Michael Schurter
770ed703d0
Add Driver.Prestart method
...
The Driver.Prestart method currently does very little but lays the
foundation for where lifecycle plugins can interleave execution _after_
task environment setup but _before_ the task starts.
Currently Prestart does two things:
* Any driver specific task environment building
* Download Docker images
This change also attaches a TaskEvent emitter to Drivers, so they can
emit events during task initialization.
2016-12-02 11:03:48 -08:00
Michael Schurter
1f0bfa00aa
rkt: Support host and none dns options
...
Fixes #2025
2016-11-28 13:13:40 -08:00
Michael Schurter
44e4414490
Fix rkt volumes
...
I forgot to validate the volumes field!
2016-11-28 13:13:40 -08:00
Alex Dadgar
f1689bc7f9
Rkt env var
2016-11-08 15:14:04 -08:00
Alex Dadgar
0cbd0188b1
Move the wait result to bottom of methods
2016-11-04 14:58:55 -07:00
Michael Schurter
21b8030ded
Fix tests for rkt port map
2016-10-25 17:06:41 -07:00
Kenjiro Nakayama
56d91632ca
driver.rkt: support port mapping with net and port options
2016-10-25 15:41:49 -07:00
Alex Dadgar
8e07c2750e
Merge pull request #1839 from hashicorp/f-signal-constraints
...
Signal creates an auto-constraints
2016-10-25 11:09:33 -07:00
Michael Schurter
4f45aece4b
Fingerprint rkt volume support and make periodic
...
Fix rkt docs and custom volume mounting
2016-10-25 09:46:49 -07:00
Michael Schurter
49ed6da0ad
Enable rkt and docker volume mounting by default
2016-10-25 09:46:49 -07:00
Michael Schurter
f075bda9b9
Make volume name unique
2016-10-25 09:46:49 -07:00
Michael Schurter
83a11fc93b
Bump minimum required rkt version; update docs
...
Make section names match between docker and rkt
2016-10-25 09:46:49 -07:00
Michael Schurter
02ed35bd1c
Add arbitrary volume support to rkt
2016-10-25 09:46:49 -07:00
Michael Schurter
473c28824c
Fix standard mounts in rkt and tests
2016-10-25 09:46:49 -07:00
Alex Dadgar
41b5679015
Advertise signalling abilities
2016-10-19 15:06:23 -07:00
Alex Dadgar
53eeec9bc1
Merge pull request #1801 from hashicorp/f-signals
...
Consul-template signal change mode
2016-10-18 11:23:47 -07:00
Alex Dadgar
86238387e7
Send Executor Ctx separately
2016-10-12 11:35:29 -07:00
Alex Dadgar
5b01b1be1b
Rkt
2016-10-10 11:47:04 -07:00
Alex Dadgar
280af8f4d1
Docker + Qemu
2016-10-10 11:47:04 -07:00
Kenjiro Nakayama
c97beb8deb
driver.rkt: Remove unnecessary job validation
2016-08-16 23:33:34 +09:00
Alex Dadgar
64b86bed0d
Merge pull request #1581 from nak3/fix-rkt2
...
Set host environment variables to taskEnv of rkt driver
2016-08-15 10:31:10 -07:00
Alex Dadgar
a2b603bd82
Merge pull request #1586 from nak3/rkt-fix3
...
tiny: Catch error returned from SyncServices in rkt driver
2016-08-15 10:29:28 -07:00
Kenjiro Nakayama
d0ccdacd08
rkt.driver: Fix wrong MB calculation
2016-08-14 14:27:42 +09:00
Kenjiro Nakayama
906526fbe0
tiny: Catch error returned from SyncServices in rkt driver
2016-08-14 13:11:17 +09:00
Kenjiro Nakayama
0efc0e0231
Set host environment variables to taskEnv of rkt driver
2016-08-14 00:42:53 +09:00
Kenjiro Nakayama
6ec6c27cb4
Update debug option from string to bool
2016-08-09 16:51:00 +09:00
Kenjiro Nakayama
11a8a7218e
Add debug option to rkt task config
2016-08-09 09:01:05 +09:00
Alex Dadgar
ddd8adce96
changelog + use driver config
2016-08-05 10:55:20 -07:00
Kenjiro Nakayama
1176fd123e
Pass command and trust_prefix to the validation of rkt task configuration
2016-08-04 17:24:56 +09:00
Alex Dadgar
e952540f6f
Allocation resources returned in a struct
2016-06-11 21:04:10 -07:00
Diptanu Choudhury
6c1b60ff07
Add the Stats api to driverhandle
2016-05-28 19:42:34 -07:00
Sean Chittenden
dc28ab0cb5
Speling police
2016-05-15 09:41:34 -07:00
Ivo Verberk
6d0191a485
Add missing comments on exported Validate function
2016-04-10 01:15:09 +02:00
Ivo Verberk
13a2d62bfa
Implement configuration validation for all task drivers
2016-04-10 00:42:57 +02:00
Ivo Verberk
542603dec6
Add helper to validate raw configuration data
2016-04-10 00:42:43 +02:00
Diptanu Choudhury
8c7c48b01a
Logging in fingerprinters only when state changes
2016-04-01 02:22:17 -07:00
Diptanu Choudhury
fd3c05a2be
Making driver fingerprinters run periodically and unblocking evals when node registration happens
2016-03-31 18:11:27 -07:00
Diptanu Choudhury
f517eb16de
Added version to executor
2016-03-29 22:24:22 -07:00
Diptanu Choudhury
2b773b0a39
Added the Version method to executor
2016-03-29 22:23:03 -07:00
Diptanu Choudhury
a6711ea25f
Introducing ConsulContext
2016-03-24 15:57:16 -07:00
Diptanu Choudhury
f09bb1572a
Fixed merge conflicts
2016-03-24 15:09:50 -07:00
Diptanu Choudhury
2a5f300f92
Added a check type for consul service to delegate certain checks
2016-03-24 14:54:26 -07:00
Diptanu Choudhury
60fc9919f7
Changing the log line
2016-03-24 14:53:53 -07:00
Diptanu Choudhury
6a62d4f452
Fixing check registration in perform sync
2016-03-24 14:12:09 -07:00
Alex Dadgar
fc0e48b0ec
Merge pull request #950 from mssola/raw-exec-user
...
client: added the "user" option to tasks
2016-03-24 08:57:13 -07:00
Diptanu Choudhury
62242595fc
Using the name of the task and the alloc id in the service name
2016-03-23 17:35:29 -07:00
Diptanu Choudhury
54a5e795a5
Hooking up the executor in all drivers
2016-03-23 13:19:45 -07:00
Diptanu Choudhury
f6a932194f
Removing references to old consul services and adding consul config to executor context
2016-03-23 12:19:19 -07:00
Miquel Sabaté Solà
8c56c64615
client/driver: added the user
config value
...
This way Nomad allows to set which user has to run the task.
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
2016-03-23 12:57:31 +01:00
Alex Dadgar
c85dfdf9a0
Merge branch 'master' into f-artifact-location
2016-03-19 12:50:44 -07:00
Alex Dadgar
f4bb3a9801
binary lookup path
2016-03-19 12:18:10 -07:00
Diptanu Choudhury
0f0bba1a4f
Merge pull request #932 from hashicorp/unified-executor
...
Unified executor
2016-03-18 15:04:48 -07:00
Diptanu Choudhury
ddbf18f02a
Removing all the destroy logic from wait and calling exit after wait on all drivers
2016-03-18 12:04:11 -07:00
Diptanu Choudhury
3c7b83b393
Introduced a method in executor to launch syslog server
2016-03-18 11:49:10 -07:00
Brian Lalor
efe080b53f
Remove unnecessary --interactive flag
...
Per @achanda, this was added [accidentally](b92546a9c5 (commitcomment-16750062)
).
2016-03-17 13:22:49 -04:00
Alex Dadgar
e6d50f96ef
Respond to comments and fix test
2016-03-15 20:21:52 -07:00
Alex Dadgar
393807a677
Make user specified tasks executable
2016-03-15 19:22:40 -07:00
Alex Dadgar
2ccfb43c7a
Merge pull request #892 from achanda/rkt_dns
...
Enable passing DNS info to the rkt driver
2016-03-10 08:54:26 -08:00
Abhishek Chanda
3260254cb4
Enable passing DNS info to the rkt driver
2016-03-08 18:59:11 -08:00
Alex Dadgar
929e705ba1
Updating kill timeout adheres to operator specified maximum
2016-03-03 09:21:21 -08:00
Abhishek Chanda
ef83066b7a
Fix location of volume mount
...
Also add a test for mounting alloc dirs
2016-03-02 14:04:14 -08:00
Abhishek Chanda
9e1055d595
Use NewWaitResult in the wait channel
2016-03-02 14:04:14 -08:00
Abhishek Chanda
5a3be40b8d
Set allocDir in handle
2016-03-02 14:04:14 -08:00
Abhishek Chanda
a78fc6707f
Run rkt interactively
2016-03-02 14:04:14 -08:00
Abhishek Chanda
29bcab9bfd
Cleanup if the plugin executor crashes.
2016-03-02 14:04:14 -08:00
Abhishek Chanda
8957726a0a
A number of cleanups
...
- Removed some unused variables.
2016-03-02 14:04:14 -08:00
Abhishek Chanda
fbc6f3f0b1
Do not hard-code binary location
2016-03-02 14:04:14 -08:00
Abhishek Chanda
d490df2bad
Use the plugin mechanism in the rkt driver
2016-03-02 14:04:14 -08:00
Abhishek Chanda
e40c4630d7
Change how a result is returned form wait
2016-03-02 14:04:14 -08:00
Abhishek Chanda
7719a1ce98
A number of rkt fixes
...
- Reorder rkt arguments to make it work
- Change a few things in test
2016-03-02 14:04:14 -08:00
Abhishek Chanda
b35e244c7d
Use a host volume to mount alloc and task dirs
...
host volumes are the preferred way to share data.
2016-03-02 14:04:14 -08:00
Abhishek Chanda
370332fdf3
Create the task and alloc dirs before proceeding
2016-03-02 14:04:14 -08:00
Alex Dadgar
41e1174f72
Client handles updates to KillTimeout and Restart Policy
2016-02-03 19:43:44 -08:00
Alex Dadgar
2d42cb3e55
update the regex
2016-02-02 15:39:45 -08:00
Alex Dadgar
3ba1c9b76b
merge
2016-01-11 09:58:26 -08:00
Alex Dadgar
198230bae9
Merge pull request #645 from achanda/mount_dirs
...
Mount task and alloc dirs in the rkt driver
2016-01-05 10:34:03 -08:00
Abhishek Chanda
2fc6352076
Mount task and alloc dirs in the rkt driver
...
rkt docs herer https://coreos.com/rkt/docs/latest/subcommands/run.html#mounting-volumes
2016-01-05 10:27:44 +00:00
Alex Dadgar
1e5c776e40
Merge pull request #624 from hashicorp/f-adjustable-timeout
...
User specifiable kill timeout and operator configurable max
2016-01-04 11:44:22 -08:00
Abhishek Chanda
60fe5e19e8
Update the insecure flag
...
The current call has been deprecated in
https://github.com/coreos/rkt/pull/1738
2015-12-25 15:59:54 +00:00
Alex Dadgar
ddf392c6be
User specifiable kill timeout and operator configurable max
2015-12-22 16:10:30 -08:00
Abhishek Chanda
a347cda6e3
Consolidate if else conditions
2015-12-22 18:23:29 +00:00
Alex Dadgar
29411d698a
Rkt comment and variable name update
2015-12-22 10:11:22 -08:00
Abhishek Chanda
74a5292789
Move constants to the top
2015-12-22 05:15:37 +00:00
Abhishek Chanda
0918a38221
Do not allow rkt version less than 0.14.0
2015-12-21 17:48:21 +00:00
Abhishek Chanda
1c4e380868
Use camelCase for variable names
2015-12-21 16:37:21 +00:00
Abhishek Chanda
3d2589e797
Run gofmt
2015-12-21 06:09:11 +00:00
Abhishek Chanda
b843b1a853
Support CPU and meory isolators for the rkt driver
...
The rkt community added supprt for these isolators recently
2015-12-21 06:06:45 +00:00