Commit Graph

343 Commits

Author SHA1 Message Date
Alex Dadgar 0626eb9619 environment variables 2016-08-31 13:56:11 -07:00
Kenjiro Nakayama b06c6d9311 driver.docker: tiny: debug messages output task name instead of image name 2016-08-21 19:51:32 +09:00
Diptanu Choudhury ab7f8847c1 changing error statement 2016-08-17 13:48:31 -07:00
Alex Dadgar 096956257d changelog 2016-08-05 10:47:44 -07:00
Michal Wieczorek b688261a99 Set windows containers default network mode to 'nat' 2016-08-05 06:01:26 +02:00
Diptanu Choudhury 531b619ce4 Merge pull request #1475 from mwieczorek/windows-hostIp-portBindings
Empty host ip for windows containers port bindings
2016-08-04 13:30:43 -07:00
Alex Dadgar 1fe4158097 Merge pull request #1519 from vrenjith/master
Remove docker volumes while removing container
2016-08-04 12:54:00 -07:00
vrenjith 41cf7cc623 Update docker.go
Remove container volumes
2016-08-04 11:43:50 +05:30
Mathias Lafeldt d91f7dbdf8
Docker driver: allow to configure working directory 2016-08-03 16:18:15 +02:00
Alex Dadgar 47f5c8f523 use priviledge of the config 2016-08-02 16:10:15 -07:00
Alex Dadgar cec6d8a1eb remove gating of ipc, user ns and pidmode based on hosts priviledge mode config 2016-08-02 16:02:34 -07:00
Alex Dadgar 2999c12ef1 disable swap 2016-07-28 12:17:00 -07:00
Michal Wieczorek 4b82b6c3d4 Empty host ip for windows containers port bindings 2016-07-28 00:00:57 +02:00
Diptanu Choudhury 22af229cef Merge pull request #1321 from mwieczorek/f-windows-binds
Volume binds for windows containers
2016-07-18 10:20:44 -06:00
Wojciech Bederski a73422b4ff Fix docker driver lockup during nomad boot
Unit mismatch caused docker driver to wait almost indefinitely during boot 
(when one or more containers were a bit uncooperative during StopContainer())
This should fix problems described in  #1202
2016-06-28 14:26:47 +02:00
Diptanu Choudhury 0a10873aa6 Merge pull request #1335 from hashicorp/f-set-docker-timeout
Setting a timeout in the docker client
2016-06-21 17:00:14 -07:00
Diptanu Choudhury 2837d3395d Setting a timeout in the docker client 2016-06-21 16:58:21 -07:00
Diptanu Choudhury 1d5c5b18f3 Making SSL default 2016-06-21 16:41:14 -07:00
Michal Wieczorek 67a04bb1cc Volume binds for windows containers 2016-06-20 21:46:33 +02:00
Sean Chittenden 7b9961f09b
Initialize the stats helpers before accessing them for the first time 2016-06-17 13:23:30 -07:00
Alex Dadgar 27c6398639 debug message when stopping container 2016-06-17 11:52:44 -07:00
Diptanu Choudhury 266c417ac8 Changed the client options for docker volume selinux labels 2016-06-16 21:41:02 +01:00
Diptanu Choudhury fa216199ce Added documentation 2016-06-15 02:42:15 +02:00
Diptanu Choudhury e08083acfe Added a client options for setting selinux options 2016-06-15 02:33:09 +02:00
Alex Dadgar c4a819528a Merge pull request #1260 from hashicorp/f-alloc-stats-struct
Allocation resources returned in a struct
2016-06-12 11:18:57 -07:00
Diptanu Choudhury 34f85baab0 Fix the calculation of total ticks for docker and exec 2016-06-12 18:08:35 +02:00
Alex Dadgar e952540f6f Allocation resources returned in a struct 2016-06-11 21:04:10 -07:00
Diptanu Choudhury 19f4adbcf1 Using a different client for collecting stats and waiting on containers 2016-06-11 20:37:29 +02:00
Diptanu Choudhury 7fb507e810 Moving the clkspeed code to helper 2016-06-11 17:31:49 +02:00
Diptanu Choudhury 59540c3e93 Extracted a method for getting clock speed 2016-06-11 02:07:28 +02:00
Diptanu Choudhury c38a6fb3c5 Implementing the total ticks per task for the docker driver 2016-06-10 23:33:25 +02:00
Alex Dadgar 3cf74e7fd8 Alloc-status only shows measured statistics and fixes to CPU calculations 2016-06-10 10:38:29 -07:00
Alex Dadgar 98d7547014 Annotate what is measured 2016-06-09 19:45:41 -07:00
Diptanu Choudhury 4027ff56f0 Returning an error if stats collection hasn't started yet for a new docker container 2016-06-06 18:52:54 -07:00
Diptanu Choudhury c0dc6cfbf2 Changing the api of the stats endpoints 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 40e60ce920 Making the call to Stats on a go-routine 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 75c7f84490 Simplified the docker stats collection 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 313c61b9db Added pidstats in task resource usage struct 2016-05-28 19:59:20 -07:00
Diptanu Choudhury cfd3016747 Renamed CpuUsage to CpuStats 2016-05-28 19:59:20 -07:00
Diptanu Choudhury e37a108b4c Implemented cpu stats 2016-05-28 19:51:22 -07:00
Diptanu Choudhury 1789dbd1ff Fixed implementation of the docker stats 2016-05-28 19:51:22 -07:00
Diptanu Choudhury 6c1b60ff07 Add the Stats api to driverhandle 2016-05-28 19:42:34 -07:00
Daniel Kerwin df7f5175a8 Add support for shm_size to docker driver. Required update of go-dockerclient
to more recent version (ba4298ecf4cfa216f1cce2befbf653359f62c722).
2016-05-27 12:30:04 +02:00
Sean Chittenden dc28ab0cb5
Speling police 2016-05-15 09:41:34 -07:00
Ivo Verberk e25a2d2f4f Docker labels configuration should be of type "array" in schema 2016-04-25 23:58:31 +02:00
Alex Dadgar ae0a54eb70 Timeout docker connections after 1 minute 2016-04-22 11:11:38 -07:00
Alex Dadgar 9ccacaa9e5 Remove unused field 2016-04-14 11:05:20 -07:00
Alex Dadgar 78adfa8ed6 changelog + docker GC cleanup 2016-04-14 10:52:38 -07:00
Alex Dadgar c4406f2b31 Merge pull request #1071 from hashicorp/b-docker-fix-gc
GC Docker containers and images after the container exits
2016-04-14 10:26:37 -07:00
Diptanu Choudhury bab7d8c9ce Fixing the API call of stopping container 2016-04-12 02:29:28 -07:00
Diptanu Choudhury 02f16e0ea5 Removing container and image once the wait from docker api returns 2016-04-12 00:52:45 -04:00
Ivo Verberk 11f4e647b2 Add interactive option to the Docker driver configuration schema 2016-04-10 12:20:01 +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
Paul Hinze 044978783f client/docker: add `interactive` option
Equivalent to `docker run --interactive` - keeps STDIN open.

Also adds docs for both `tty` and `interactive` docker config.
2016-04-08 12:51:07 -05:00
Diptanu Choudhury 77fbf85518 Added the tty flag to the driverconfig 2016-04-06 09:54:45 -07: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 2601468708 Making the load a list of strings and added website docs 2016-03-30 17:23:29 -07:00
Diptanu Choudhury 6b46e27236 Simplified the logic of deciding how to create image 2016-03-30 15:45:17 -07:00
Diptanu Choudhury 52af6cd63c Added docs 2016-03-30 15:26:51 -07:00
Diptanu Choudhury cc9c07afdb Added a test 2016-03-30 13:42:17 -07:00
Diptanu Choudhury babbe86933 Added ability to create image from archive 2016-03-30 13:09:32 -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 8b91606b22 Making the docker driver register services and checks 2016-03-23 12:59:22 -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
Diptanu Choudhury abf8e50c29 Destroying the plugin if kill wasn't successful 2016-03-18 11:53:25 -07:00
Diptanu Choudhury 3c7b83b393 Introduced a method in executor to launch syslog server 2016-03-18 11:49:10 -07:00
Diptanu Choudhury 512d0c317a Merge pull request #897 from hashicorp/syslog-addr
Using unix domain sockets for docker syslog collector
2016-03-10 11:49:21 -08:00
Diptanu Choudhury b18cbaa416 Using unix domain sockets for docker syslog collector 2016-03-09 23:28:26 -08:00
Diptanu Choudhury f1c9d11c55 Merge pull request #878 from hashicorp/b-kill-timeout-update
client: Updating kill timeout adheres to operator specified maximum
2016-03-09 18:33:40 -08:00
Diptanu Choudhury 674d1c9b24 Making the docker fingerprinter periodic 2016-03-08 12:02:55 -08:00
Erik Evenson c515cce551 moves transform to Init() 2016-03-06 19:00:40 -06:00
Erik Evenson bef4b0d9b6 Merge branch 'master' into study/aws-ecr-1 2016-03-06 18:18:20 -06:00
Alex Dadgar 929e705ba1 Updating kill timeout adheres to operator specified maximum 2016-03-03 09:21:21 -08:00
Alex Dadgar 144ccfb561 Killing a docker container that is dead is not an error 2016-03-02 16:27:01 -08:00
Erik Evenson eca9029664 adds comments and removes redundant false flag setting 2016-02-29 08:17:40 -06:00
Alex Dadgar 61972c9ddc Refactor task runner to include driver starting into restart policy and add recoverable errors 2016-02-28 16:56:05 -08:00
Erik Evenson 10e32a74d1 refactors 2016-02-27 12:00:17 -06:00
Erik Evenson 4572753014 allows AWS ECR to work 2016-02-27 11:06:40 -06:00
Diptanu Choudhury e3d6c4a9dd Adding version information to snapshots 2016-02-24 19:06:30 -08:00
Diptanu Choudhury 27ab08ce1c Merge pull request #842 from hashicorp/f-validate-command
drivers: validate that command contains one field
2016-02-23 13:45:10 -08:00
Alex Dadgar f612b9c81e validate that command contains one field 2016-02-23 10:19:40 -08:00
Diptanu Choudhury d6f09400f7 Merge pull request #819 from hashicorp/r-syslog-collector
Refactored syslog server and log rotator
2016-02-23 10:15:14 -08:00
Diptanu Choudhury c21f6f8eea Throwing an error if Nomad can't create an docker auth object 2016-02-22 13:20:06 -08:00
Diptanu Choudhury bf3e3f5f59 Throwing an error if Nomad can't create an docker auth object 2016-02-22 13:00:54 -08:00
Diptanu Choudhury 488fd763c8 Renamed packages 2016-02-19 13:08:25 -08:00
Diptanu Choudhury b1c57e078f Changing log messages in the docker driver 2016-02-12 13:33:09 -08:00
Alex Dadgar 18da7eea95 Update go-plugin 2016-02-12 12:16:56 -08:00
Diptanu Choudhury 3db617472c Fixed an issue with purge 2016-02-11 14:44:35 -08:00
Diptanu Choudhury 5480a6744e Renamed the syslog package to logcollector 2016-02-10 18:47:46 -08:00
Diptanu Choudhury 566d709110 Handling errors when client can't re-attach to syslog collector 2016-02-10 16:40:36 -08:00
Diptanu Choudhury 25c48cd1ea Updating log configs 2016-02-10 15:04:41 -08:00
Diptanu Choudhury 776e57deb0 Adding newlines to loglines 2016-02-10 10:18:14 -08:00
Diptanu Choudhury 4b22221c27 Writing log lines from docker to files 2016-02-10 07:52:15 -08:00
Diptanu Choudhury 1e4c42f29d Starting the syslog collector along with a docker container 2016-02-09 18:24:30 -08:00
Diptanu Choudhury b8e4941862 Fixed merge conflicts 2016-02-08 10:24:27 -08:00
Diptanu Choudhury d0b6fb1993 Updated the docker auth config 2016-02-06 05:47:56 -08:00
Diptanu Choudhury 745bfaae7b Reading dockercfg files for authenticating with private registries 2016-02-06 05:43:30 -08:00
Diptanu Choudhury faf6083352 Passing the log rotation parameters to docker daemon 2016-02-05 00:22:31 -08:00
Alex Dadgar 41e1174f72 Client handles updates to KillTimeout and Restart Policy 2016-02-03 19:43:44 -08:00
Ivo Verberk 061445468b Rename IPPort env variable and add a mapped host port to the env. 2016-01-25 20:46:01 +01:00
Ivo Verberk e58bda9056 Pass a combination of ip and port to the task environment.
The different labels can be on different IPs.
2016-01-24 10:31:03 +01:00
Alex Dadgar ec9c375c1c Have docker use the task environment in the context 2016-01-22 15:00:36 -08:00
Alex Dadgar 1ceb6f012a Fix a bunch of tests
Up timeouts

trusty travis beta

Increase timeouts
2016-01-20 16:03:53 -08:00
Alex Dadgar 9f5ccee7ff Fix docker tests 2016-01-19 15:35:01 -08:00
Alex Dadgar 3ba1c9b76b merge 2016-01-11 09:58:26 -08:00
Bastiaan Bakker fcfa8373b2 Add options ipc_mode, pid_mode and uts_mode to docker driver.
May only be used if priviliged mode is enabled in driver config.
2016-01-08 23:34:49 +01:00
Alex Dadgar ddf392c6be User specifiable kill timeout and operator configurable max 2015-12-22 16:10:30 -08:00
Alex Dadgar b943c6e278 Remove all calls to the default logger 2015-12-11 15:02:13 -08:00
Alex Dadgar 5eeec26102 Do Once docker client initialization 2015-12-10 13:49:29 -08:00
Diptanu Choudhury 29915ddd16 Moving the args to helper 2015-11-26 14:13:19 -08:00
Alex Dadgar b2daa5e2e6 Standardize log messages in fingerprinters to DEBUG 2015-11-24 11:06:51 -08:00
Chris Bednarski 719c345164 Change println to printf 2015-11-20 16:00:58 -08:00
Chris Bednarski 8169c8e185 Don't show endpoint when we're not using it 2015-11-20 15:53:38 -08:00
Chris Bednarski 4063b6583e Added docker.tls config file options and docs 2015-11-20 15:47:03 -08:00
Chris Bednarski cf4bb4cfd0 Squash []map[string]type for port_map and labels into map[string]type 2015-11-19 21:29:37 -08:00
Chris Bednarski 275550dcd3 Fixed some issues with expose, port mapping, and environment variables
- Port mapping now works for reserved ports as well as dynamic ports
- Environment variables were being set twice in two different ways; now they are only set once
- Comprehensive tests for exposed ports, forwarded ports, and environment variables
- Cleaned up / DRYed up a lot of test code
2015-11-19 19:08:21 -08:00
Chris Bednarski b9b786732e Export DockerHandle and change tests to use DockerHandle.ContainerID() 2015-11-19 14:20:41 -08:00
Chris Bednarski 6253b1d0aa Add ContainerID() method to get the containerID from a handle 2015-11-19 13:57:18 -08:00
Antonio Fernández 581245f881 fix docker port allocation? 2015-11-19 19:15:25 +01: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
Alex Dadgar 0e51375285 Revert "Make drivers take arguments as a list and not as a string" 2015-11-18 13:46:43 -08:00
Alex Dadgar 6574fd27e3 Remove returning the error 2015-11-18 12:40:34 -08:00
Alex Dadgar 5a678548fa Rebase 2015-11-18 12:30:35 -08:00
Alex Dadgar 54ddf4d3c1 Rebase 2015-11-18 12:29:04 -08:00
Chris Bednarski fc69721cc7 Added missing %s to error format string 2015-11-18 11:29:49 -08:00
Chris Bednarski e17f5984ef Revert "Added missing %s to error format string"
This reverts commit f4acdfd035c2ffa196035cc574d8b40a1795abb3.
2015-11-18 11:28:38 -08:00
Chris Bednarski 7a077a29b5 Added missing %s to error format string 2015-11-18 11:28:07 -08:00
Chris Bednarski b9fcdc400a Merge branch 'master' into f-docker-dns-config 2015-11-18 10:31:06 -08:00
Carlos Diaz-Padron 4a6c3d773d Nest Docker driver auth under object 2015-11-18 01:37:42 -08:00
Carlos Diaz-Padron de6c06d332 De-nest docker registry auth and reformat related doc 2015-11-17 23:32:57 -08:00
Chris Bednarski c80cf651e8 Merge branch 'master' into f-docker-dns-config 2015-11-17 21:43:04 -08:00
Chris Bednarski 7b25c9b4d9 Change dns_servers and dns_search_domains from comma-delimited strings to lists 2015-11-17 21:41:00 -08:00
Chris Bednarski c851ae67c7 Change error check to contains instead of == 2015-11-17 21:36:23 -08:00
Chris Bednarski 563e1aff56 Renamed some things so it's more apparent that reserved and dynamic port mapping have very similar code 2015-11-17 21:34:07 -08:00
Chris Bednarski 8705ea07a4 Remove \n since this is added by the logger 2015-11-17 21:17:51 -08:00
Chris Bednarski 5ac6664c46 Purge existing container during Start() 2015-11-17 20:50:14 -08:00
Chris Bednarski 0e1fe2373a Log container name and labels 2015-11-17 20:04:10 -08:00
Chris Bednarski 640af994ca Added a randomized alloc id for tests so container names don't collide 2015-11-17 19:45:33 -08:00
Chris Bednarski 9a7adb9eb3 Fix guards for docker port mapping and change dummy dynamic ports to real ports (0 is not a valid port) 2015-11-17 19:21:36 -08:00