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
Diptanu Choudhury
29915ddd16
Moving the args to helper
2015-11-26 14:13:19 -08:00
Alex Dadgar
4d817f5cbc
Revert "Revert "Make drivers take arguments as a list and not as a string""
2015-11-18 15:16:42 -08:00