Commit graph

852 commits

Author SHA1 Message Date
Alex Dadgar c78f69bdee Implement the driver whitelist 2015-11-19 16:39: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
Chris Bednarski 96f4522a93 Merge pull request #466 from fernandezvara/fix-docker-port-mappings
docker port allocation not mapping correctly
2015-11-19 10:34:54 -08:00
Antonio Fernández 581245f881 fix docker port allocation? 2015-11-19 19:15:25 +01:00
Alex Dadgar a352c0fc69 Fix network fingerprint test 2015-11-19 09:22:32 -08:00
Diptanu Choudhury d60db5db1c Merge pull request #464 from hashicorp/f-consul-check
Changing the code comment
2015-11-18 19:35:15 -08:00
Diptanu Choudhury 3eb291faef Changing the code comment 2015-11-18 19:34:50 -08:00
Alex Dadgar 5faa2fd1d9 Merge pull request #463 from hashicorp/f-consul-check
Nuking the service and registering it so that checks are cleaned up
2015-11-18 19:34:20 -08:00
Diptanu Choudhury be4b981aef Nuking the service and registering it so that checks are cleaned up 2015-11-18 19:31:29 -08:00
Alex Dadgar f5623a736d Merge pull request #460 from hashicorp/f-consul-check
Making sure we sync the real state of services of a Task with Consul
2015-11-18 19:03:53 -08:00
Alex Dadgar cf4a44352f Allow no interfaces in network fingerprinter 2015-11-18 19:01:39 -08:00
Diptanu Choudhury ece7877a15 Triggering the next sync after we have finished the current one 2015-11-18 18:47:12 -08:00
Diptanu Choudhury 33472fd594 Making sure we sync the real state of services of a Task with Consul 2015-11-18 18:35:22 -08:00
Chris Hines 3a77952d59 Handle additional edge cases when parsing environment variables. 2015-11-18 21:21:07 -05:00
Diptanu Choudhury 65bac7f4db Updating checks and services when allocs are refreshed 2015-11-18 17:33:29 -08:00
Diptanu Choudhury f525d86958 Added a test to ensure invalid services are not registered 2015-11-18 17:29:12 -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
Diptanu Choudhury d65d1bdfac Merge pull request #455 from hashicorp/f-consul-check
Refactor consul check
2015-11-18 14:33:34 -08:00
Diptanu Choudhury 9592fd3912 Added a check for accpeting protocol information in consul check 2015-11-18 14:29:55 -08:00
Diptanu Choudhury c9ca03afa5 Added a test to check check creation 2015-11-18 14:29:55 -08:00
Diptanu Choudhury 5608531143 Added a test to check check creation 2015-11-18 14:29:55 -08:00
Diptanu Choudhury bb7f29f023 Changed the http field to path 2015-11-18 14:29:55 -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 282509eb9b More test fixes 2015-11-18 12:30:42 -08:00
Alex Dadgar 5a678548fa Rebase 2015-11-18 12:30:35 -08:00
Alex Dadgar c04e2b8b8e Fix executor tests 2015-11-18 12:29:04 -08:00
Alex Dadgar 54ddf4d3c1 Rebase 2015-11-18 12:29:04 -08:00
Alex Dadgar 7b918ee1e7 Update ParseAndReplace to take a list of args and remove shell style parsing 2015-11-18 12:29:04 -08:00
Chris Hines 713d63e467 Move test code to *_test.go file. 2015-11-18 14:46:56 -05: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
Diptanu Choudhury 6c141e253e Merge pull request #446 from hashicorp/f-consul-client
Register services with Consul
2015-11-18 10:39:58 -08:00
Diptanu Choudhury 2deed3a2eb Added a log line to indicate we are registering a service with Consul 2015-11-18 10:32:31 -08:00
Chris Bednarski b9fcdc400a Merge branch 'master' into f-docker-dns-config 2015-11-18 10:31:06 -08:00
Diptanu Choudhury 41a1e6d74b Added a lock around modification of tracked services map 2015-11-18 09:36:37 -08:00
Diptanu Choudhury 93d0dbc974 Added some docs 2015-11-18 05:49:40 -08:00
Diptanu Choudhury 2f1f3d3898 Removed a debug log 2015-11-18 05:20:57 -08:00
Diptanu Choudhury 2ee71ffb59 Added the option to configure consul address 2015-11-18 05:15:52 -08:00
Diptanu Choudhury e83387191e Shutting down consul an not trying to de-register the consul service 2015-11-18 04:59:57 -08:00
Diptanu Choudhury cc26cb9a7b Added the logic to retry services which needs to be tracked if consul doesn't respond 2015-11-18 04:34:23 -08:00
Diptanu Choudhury 962e10b102 Registering the checks with consul 2015-11-18 03:08:53 -08:00
Diptanu Choudhury b8c2cc81f0 Defering calling the de-register from consul call when a service is not running 2015-11-18 02:37:34 -08:00
Diptanu Choudhury cb34f34c12 Added a logger to consul client 2015-11-18 02:14:07 -08:00
Carlos Diaz-Padron 4a6c3d773d Nest Docker driver auth under object 2015-11-18 01:37:42 -08:00
Diptanu Choudhury a447b1ea3c DRYed the code 2015-11-18 01:20:53 -08:00
Diptanu Choudhury d6da6372cd Moving the logic to find port and host inside consul client 2015-11-18 01:18:29 -08:00
Diptanu Choudhury 404810043a Added the implementation of consul client 2015-11-18 00:50:45 -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 f4344092fb Change DNS and DNSSearch to use lists; added a test 2015-11-17 22:02:23 -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 6c1df52342 Merge pull request #439 from hashicorp/b-docker-ports-len
Fix docker port tests and empty port_map
2015-11-17 21:37:48 -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
Alex Dadgar 2a8bd98fdc Qemu driver takes a port_map to configure host to guest port forwarding 2015-11-17 20:54:53 -08:00
Chris Bednarski 5ac6664c46 Purge existing container during Start() 2015-11-17 20:50:14 -08:00
Chris Hines af2c47460b Speed up tests by allowing parallel execution. 2015-11-17 23:43:20 -05:00
Chris Hines 2120e9e10a Move defer f.Close after error check. 2015-11-17 23:43:20 -05:00
Chris Hines 8e8eccee20 Use TestMain to provide portable echo and sleep commands. 2015-11-17 23:43:19 -05:00
Chris Hines 071018569d Extract code to acquire temp file name and make sure the file is closed so os.Remove works on Windows. 2015-11-17 23:43:18 -05: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
Alex Dadgar 45bb0d349c Update API docs 2015-11-17 19:12:19 -08:00
Chris Bednarski d098acef90 Fix guard for port maps not being specified 2015-11-17 18:16:01 -08:00
Chris Bednarski 122220a424 Merge branch 'master' into f-docker-any-network 2015-11-17 17:22:13 -08:00
Chris Bednarski 9cad290b18 Merge pull request #436 from hashicorp/f-docker-cleanup
Cleanup docker driver
2015-11-17 17:13:17 -08:00
Chris Bednarski b22b5eb3aa Inline err assignment 2015-11-17 17:12:45 -08:00
Chris Bednarski a2f4188246 Streamline reading boolean values from the driver / job config 2015-11-17 16:58:23 -08:00
Chris Bednarski 67ee502acb Added missing linebreaks for log.Printf calls 2015-11-17 16:49:01 -08:00
Chris Bednarski 43aaf94383 Do Itoa once so line items are simpler 2015-11-17 16:31:47 -08:00
Chris Bednarski ffd3f114dd Merge branch 'docker-allow-to-add-labels' of https://github.com/fernandezvara/nomad into f-docker-labels 2015-11-17 16:02:42 -08:00
Chris Bednarski 3b7c252090 Improve phrasing in log messages 2015-11-17 15:17:44 -08:00
Alex Dadgar 7551a263c5 Merge pull request #389 from achanda/name
Set a name for the container
2015-11-17 15:07:23 -08:00
Chris Bednarski 629cdd6baa Clean up extraneous variables 2015-11-17 14:51:38 -08:00
Chris Bednarski 7f117b3b55 That's not a declaration 2015-11-17 14:27:58 -08:00
Chris Bednarski 89c6f56059 Remove restrictions from docker networking mode; we assume users know what they are doing 2015-11-17 14:25:10 -08:00
Chris Bednarski f2e8357e4a Merge branch 'master' into f-docker-cleanup 2015-11-17 14:20:29 -08:00
Alex Dadgar 171a23cb74 Merge branch 'master' of https://github.com/hashicorp/nomad 2015-11-17 12:04:10 -08:00
Alex Dadgar 11b43f8e1f Avoid calling destroy twice 2015-11-17 12:03:59 -08:00
Antonio Fernández f7f83ee81c allow to set labels on docker containers 2015-11-17 14:12:49 +01:00
Carlos Diaz-Padron 77923255b4 Add hostname parameter to Docker driver 2015-11-16 22:44:44 -08:00
Chris Bednarski bac9bd60dc Improve logging and DRY some of the port mapping code 2015-11-16 19:55:49 -08:00
Chris Bednarski e9bc0905d1 Add missing param and error in the missing case so default will work as expected 2015-11-16 19:55:08 -08:00
Chris Bednarski bd4c6b371d Added config reader for booleans 2015-11-16 19:30:37 -08:00
Diptanu Choudhury 03847dd65a Addressed some review comments 2015-11-16 22:29:06 -05:00
Chris Bednarski d00c700318 go fmt 2015-11-16 16:23:03 -08:00
Chris Bednarski 714e1b52d1 Change logging port as %d to logging port.Value 2015-11-16 16:05:28 -08:00
Chris Bednarski 9f40143684 Merge branch 'master' into f-port-labels 2015-11-16 16:02:38 -08:00
Alex Dadgar ea0edd8c2f Change SetExitMessage from taking a string to an error 2015-11-16 15:14:21 -08:00
Alex Dadgar e76a613974 Use loop not recursion 2015-11-16 15:14:21 -08:00
Alex Dadgar b649039448 Fix the capacity 2015-11-16 15:14:21 -08:00
Alex Dadgar 82f51601db Track Task State in the client and capture Wait results 2015-11-16 15:14:21 -08:00
Diptanu Choudhury c5102975e3 Made the code more DRY 2015-11-16 13:10:57 -08:00
Diptanu Choudhury e40229aed6 Fixed the docker auth config 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 7d44725370 Adding comments to fields in the docker driver config 2015-11-16 13:10:57 -08:00
Alex Dadgar fa60d86fe5 mapstructure close quotes 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 5e876e9c86 Fixed the java driver config 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 9d76572831 Making sure that there is only one port_map block in the docker driver config 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 3b3907e367 Fixed the exec driver config 2015-11-16 13:10:57 -08:00
Diptanu Choudhury ba9f101660 Fixed the test related to setting env variables in tasks 2015-11-16 13:10:57 -08:00
Diptanu Choudhury ad4248e087 Fixed the allocdir tests 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 0673b832fb Fixed compilation issues with driver tests 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 69efc89436 Fixed the client tests 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 78a0f82bc5 Making the config for drivers public 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 4e05b27111 Implemented port labeling and driver configs 2015-11-16 13:10:57 -08:00
Carlos Diaz-Padron ffe67d8910 Remove CGO dependency for user lookup in allocdir
os/user's user.Lookup requires that the artifact be compiled with CGO
support enabled. This change instead reads /etc/passwd directly.

The code was acquired from docker/docker#1096
2015-11-15 21:26:34 -08:00
Chris Bednarski fc1c28357b Merge pull request #412 from hashicorp/f-docker-expose
Expose provisioned ports for docker containers
2015-11-13 11:41:13 -08:00
Guillaume Jacquet 4a3e709eef Fix AWS metadata url
Fix URL. It was printing an error message on startup:
```
2015/11/13 15:49:21 [ERR] fingerprint.env_aws: Error querying AWS Metadata URL, skipping
```

By the way is it safe to use latest? Is there a chance that Amazon decides to change the format of the metadata? It could be safer to use something like `http://169.254.169.254/2014-11-05/meta-data`
2015-11-13 11:03:05 -05:00
Chris Bednarski ef00ab3198 Change this to a valid IP address so docker can bind to it 2015-11-12 21:46:59 -08:00
Chris Bednarski 2f05a15aa5 Expose mapped ports 2015-11-12 17:23:04 -08:00
Diptanu Choudhury 3b4cb6dbc9 Saving state of the Task Runner while it's trying to update it 2015-11-12 15:53:42 -08:00
Alex Dadgar d3e2455459 Merge pull request #408 from hashicorp/f-client-restore
Client Restore State Fixes
2015-11-11 12:32:11 -08:00
Chris Bednarski 7fb75525b0 Merge pull request #407 from hashicorp/f-docker-host-env
Change Docker ENV behavior
2015-11-10 19:30:11 -08:00
Alex Dadgar 6119f42d65 Check for previous embeds at entry level not folder level 2015-11-10 18:10:02 -08:00
Chris Bednarski b637ca7f60 Added some comments to the test to explain why we're doing stuff this way 2015-11-10 17:48:06 -08:00
Chris Bednarski c5682fc751 Change dockerIs* to accept *testing.T for logging 2015-11-10 17:43:08 -08:00
Alex Dadgar 7c6b80a8fd Merge pull request #400 from nak3/fingerprint-test
Update fingerprint test codes
2015-11-10 17:06:16 -08:00
Alex Dadgar 787164044d Enable Open tests for Exec/Java 2015-11-10 16:59:52 -08:00
Alex Dadgar 594cc6b9a8 Enable AllocRunner_SaveRestoreState test 2015-11-10 16:53:59 -08:00
Alex Dadgar 1861d8312b Update test 2015-11-10 16:49:38 -08:00
Alex Dadgar e6a8a23544 Increase time out 2015-11-10 16:37:17 -08:00
Alex Dadgar 90336a160e Guard mounting dev/ and proc/ and TaskRunner_RestoreState test 2015-11-10 16:35:33 -08:00
Chris Bednarski 7f3a2595af Change Docker fingerprinter to INFO and not error when the connection to the daemon fails; we simply assume docker isn't there. 2015-11-10 16:18:52 -08:00
Alex Dadgar 933498e388 Client Restore test 2015-11-10 16:03:18 -08:00
Chris Bednarski e5688620e4 Changed behavior for Docker ENV
- Docker ENV variables now work the same way in production, dev, and test
- Docker ENV variables are *ignored* if docker.endpoint is present in the Nomad config file
- Remote tests now work correctly
2015-11-10 15:54:31 -08:00
Alex Dadgar 2c7da463b8 Fix alloc_dir mounting through task restarts 2015-11-10 14:12:30 -08:00
Diptanu Choudhury 210f744503 Returning back if alloc runner isn't saved 2015-11-09 17:04:53 -08:00
Diptanu Choudhury 4ba5434898 Exctracted a method to save the alloc runner state 2015-11-09 16:59:02 -08:00
Diptanu Choudhury c618d7ed58 Inlining error check 2015-11-09 16:45:42 -08:00
Diptanu Choudhury 38a047ec6d Refactored Save State of Alloc runner 2015-11-09 16:15:11 -08:00
Alex Dadgar 19d0c97da7 Client restores state properly 2015-11-09 15:55:31 -08:00
Diptanu Choudhury 5ef34f7560 Returning once we have an error while saving a task that doesn't exist 2015-11-09 12:44:14 -08:00
Diptanu Choudhury 0252b49c17 Updating snapshots of a TaskRunner when status of Task changes 2015-11-09 12:36:07 -08:00
Kenjiro Nakayama 658118ed5f Update fingerprint test codes 2015-11-07 23:16:43 +09:00
Alex Dadgar 3103e426f7 Merge branch 'master' of https://github.com/hashicorp/nomad 2015-11-06 15:26:11 -08:00
Alex Dadgar edb43b27df Don't set the alloc status twice when not restarting 2015-11-06 15:26:01 -08:00
Chris Bednarski 24068f445d Merge pull request #399 from hashicorp/f-windows-networking
Use the same network fingerprinter for *nix and windows
2015-11-06 14:04:06 -08:00
Chris Bednarski 2719c4ffd7 Merge branch 'master' into f-windows-networking 2015-11-06 13:32:28 -08:00
Alex Dadgar d56f9715c9 Comments on alive 2015-11-06 11:26:14 -08:00
Alex Dadgar 2321bddf2e Add Valid command to spawner and make executors check when opening 2015-11-06 11:23:27 -08:00
Alex Dadgar f36685c7d2 Merge pull request #392 from hashicorp/f-raw-exec-use-exec
RawExec driver uses exec_basic
2015-11-06 10:48:55 -08:00
Alex Dadgar 71be38abe0 merge 2015-11-06 10:42:49 -08:00
Alex Dadgar a5940ef25e Merge 2015-11-06 10:41:42 -08:00
Alex Dadgar bb9f2aa66c Docker privileged checks if host enabled it 2015-11-06 10:38:54 -08:00
Alex Dadgar 149366b89e Merge pull request #390 from the-control-group/f-docker-driver-options
Expanded docker driver options
2015-11-06 10:32:54 -08:00
Abhishek Chanda 94a4d00f4b Set a name for the container. 2015-11-06 03:33:57 +00:00
Alex Dadgar 135d8630f6 Merge pull request #391 from hashicorp/f-periodic-fingerprint
Add support for periodic fingerprints and make consul periodic
2015-11-05 18:49:42 -08:00
Alex Dadgar 285f2cd0a9 Make periodic fingerprinting log the error 2015-11-05 18:47:16 -08:00
Diptanu Choudhury b035661d7d Passing in the AllocID to exec context so that it can be used in the drivers 2015-11-05 18:34:04 -08:00
Shiem Edelbrock 5e2430de74 Fix build
returned wrong value, and forot a ":" :/
2015-11-05 17:57:51 -08:00
Diptanu Choudhury e3388a5214 Merge pull request #393 from hashicorp/f-client-side-restarts
Part 2 - Client side restarts
2015-11-05 17:43:04 -08:00
Diptanu Choudhury c28702cb2d Refactored test 2015-11-05 17:33:03 -08:00
Diptanu Choudhury 3d5e02b3d7 Fixed some tests and refactored logic 2015-11-05 17:30:41 -08:00
Diptanu Choudhury d091c94563 Incremeneting the counter once we calculate next restart 2015-11-05 17:13:25 -08:00
Diptanu Choudhury fff38106ae Added some comments to code 2015-11-05 16:48:15 -08:00
Shiem Edelbrock 1169bef912 Updated priviliged option, added client priviliged option
- Added error checking on priviliged mode.
- Added `docker.privileged.enabled` to client config/fingerprint
2015-11-05 16:40:20 -08:00
Diptanu Choudhury a2a73b16d9 Added the client word to log lines 2015-11-05 16:39:57 -08:00
Diptanu Choudhury 44569d908f Passing restart tracker in the task runner 2015-11-05 16:38:19 -08:00
Diptanu Choudhury df7391f7df Fixing the test 2015-11-05 15:26:00 -08:00
Diptanu Choudhury 86be2bf0be Cleaned up the logic to calculate restart duration 2015-11-05 15:16:29 -08:00
Alex Dadgar 880d567836 Merge pull request #388 from hashicorp/f-basic-exec-use-spawner
Basic executor uses spawner and an executor test harness
2015-11-05 13:57:11 -08:00
Alex Dadgar 5f1b6e70b0 Client handles periodic fingerprinters 2015-11-05 13:46:17 -08:00
Alex Dadgar 5f84878ffb Add consul fingerprinter to builtin list; sort list; fix bad error in consul fingerprinter 2015-11-05 13:46:16 -08:00
Alex Dadgar f9fd83c696 Merge fix 2015-11-05 13:46:02 -08:00
Alex Dadgar d14bc26607 Calling incorrect executor build method 2015-11-05 11:54:51 -08:00
Clint e494a24335 Merge pull request #381 from hashicorp/f-getter-refactor
client/drivers: Refactor to use Getter wrapper
2015-11-05 13:47:42 -06:00
Alex Dadgar 04aecbda0b Fix typo 2015-11-05 11:31:50 -08:00
Diptanu Choudhury 3659335de1 Fixed the log statements 2015-11-05 11:13:05 -08:00
Diptanu Choudhury ea854a9220 Added the logic to restart Tasks if possible 2015-11-05 11:13:04 -08:00
Diptanu Choudhury b64ed61022 Setting the restart policy to AllocRunner and Task Runners 2015-11-05 11:13:04 -08:00
Alex Dadgar 3cf7dfb588 Merge pull request #377 from nak3/selinux-docker-driver
Apply SELinux label to allocate directory of docker driver
2015-11-05 10:54:48 -08:00
Shiem Edelbrock adb8d4c1f7 Merge branch 'master' of https://github.com/hashicorp/nomad into f-docker-driver-options
* 'master' of https://github.com/hashicorp/nomad: (59 commits)
  Move the executor and spawn package into driver
  Remove file watching
  Check if the PID is alive instead of heartbeating through modify time
  Update CHANGELOG.md
  nomad/watch: add a note about the Item struct
  go fmt this file
  Vet errors
  Search path
  Update website
  Make a basic executor that can be shared and fix some fingerprinting/tests
  Small improvements
  Use const value for AWS metadata URL
  Create Spawn pkg that handles IPC with the spawn-daemon and update exec_linux to use that
  Fixed the restart policy syntax
  Introducing vars to create default batch and service restart policies
  Fixed the tests
  Declaring Batch and Service default restart policies
  Fixing tests to not create a TG without restart policies
  This option only work -> This option only works
  leave -> leaving
  ...
2015-11-05 10:48:09 -08:00
Shiem Edelbrock c174f4819b Added task configuraton options for docker driver
- Added `priviliged` option to task config to allow containers to run in
 priviliged mode.
- Added `dns-servers` option to task config to allow containers to use
  custom DNS servers
- Added `search-domains` option to task config to allow containers to
  use custom dns search domains
- Added authentication options (under key namespace `auth.*`) to allow
  authentication on a task level for docker remote.
- Updated site docs to reflect changes
2015-11-05 10:47:41 -08:00
Alex Dadgar 3cc2dd52b6 exec_basic uses Spawner; create shared test harness for executors 2015-11-05 09:58:57 -08:00
Clint Shryock fb8066d8f3 add checksums to tests, formatting after rebase 2015-11-05 09:23:45 -06:00
Clint Shryock 1a35649ea1 remove debug line 2015-11-05 08:55:30 -06:00
Clint Shryock 145a2e3610 refactor drivers to use new getter 2015-11-05 08:55:30 -06:00
Clint Shryock 291dd3dfb1 add getter package, a thin wrapper of go-getter 2015-11-05 08:53:11 -06:00
Alex Dadgar 587031f14d Get rid of exec.cmd struct and setuid file 2015-11-04 17:20:52 -08:00
Alex Dadgar 4259d3a43c Move the executor and spawn package into driver 2015-11-04 16:53:27 -08:00
Alex Dadgar f210fcd1a6 Merge pull request #380 from hashicorp/f-daemonize
Improve spawn-daemon and Nomad Client usage of it
2015-11-04 16:44:50 -08:00
Alex Dadgar 7d42702d28 Remove file watching 2015-11-04 16:38:28 -08:00
Kenjiro Nakayama 1e47dd4c7d Apply SELinux label to allocate directory of docker driver 2015-11-05 09:06:22 +09:00
Alex Dadgar 81140f8787 Check if the PID is alive instead of heartbeating through modify time 2015-11-04 14:50:44 -08:00
Alex Dadgar 7f9fd5ec36 Vet errors 2015-11-03 13:37:45 -08:00
Alex Dadgar d83777f198 Make a basic executor that can be shared and fix some fingerprinting/tests 2015-11-03 12:47:48 -08:00
Alex Dadgar 271702f4a2 Small improvements 2015-11-03 10:50:30 -08:00
Kenjiro Nakayama 21f537339e Use const value for AWS metadata URL 2015-11-04 00:06:14 +09:00
Alex Dadgar 5562fc7672 Create Spawn pkg that handles IPC with the spawn-daemon and update exec_linux to use that 2015-11-02 20:28:37 -08:00
Chris Bednarski a67a78a2d9 Use the same network fingerprinter for *nix and windows 2015-10-30 16:48:02 -07:00
Diptanu Choudhury cae9b40877 Merge pull request #356 from hashicorp/network-fingerprint-refactor
Network fingerprint refactor
2015-10-29 16:59:54 -07:00
Alex Dadgar 93e1b49278 Merge pull request #352 from hashicorp/f-qemu-windows
Get Qemu to fingerprint and test properly on both windows and linux
2015-10-29 16:57:29 -07:00
Alex Dadgar 01e0be4cc6 Add comment explaining the qemu-img command on windows 2015-10-29 16:57:02 -07:00
Diptanu Choudhury e55bbe5f2c Refactored code 2015-10-29 16:16:10 -07:00
Diptanu Choudhury 17d430e46c Renamed BasicNetworkInterfaceDetector to DefaultNetworkInterfaceDetector 2015-10-29 15:55:49 -07:00
Alex Dadgar 72fea7d2b5 Comments 2015-10-29 15:39:26 -07:00
Alex Dadgar ec2367baec Cleanup exec_linux, force cgroups, check for systemd and update the Open() api 2015-10-29 15:26:35 -07:00
Diptanu Choudhury 1360f8c6fa Fixed a debug message 2015-10-29 15:17:40 -07:00
Diptanu Choudhury d31f567484 Fixed style of a debug log 2015-10-29 15:15:44 -07:00
Diptanu Choudhury 08302d43ee Added a test to ensure we are not selecting devices which are not marked as UP or loopback and have no IP addresses 2015-10-29 15:14:13 -07:00
Diptanu Choudhury b048919b63 Added some coments 2015-10-29 11:05:58 -07:00
Diptanu Choudhury 6400273cf8 Added tests for testing detecting default device 2015-10-29 11:01:15 -07:00
Alex Dadgar 2781cbbde1 Exec driver only applies on linux as root 2015-10-28 17:22:04 -07:00
Diptanu Choudhury b78c00f255 Introduced an interface to detect network devices so that we can mock it for tests 2015-10-28 15:58:40 -07:00
Diptanu Choudhury f0e445d8f5 Refactored the findInterfaces method to make it more clear 2015-10-28 15:48:08 -07:00
Diptanu Choudhury a3d79ec589 Some coding style changes 2015-10-28 15:03:11 -07:00
Diptanu Choudhury 9b86b2313f We don't want lo and PPP in production 2015-10-28 14:44:46 -07:00
Diptanu Choudhury df5efd1e24 Added more information to log 2015-10-28 14:41:13 -07:00
Diptanu Choudhury 58bf6047a7 Adding more information to errors 2015-10-28 14:32:13 -07:00
Diptanu Choudhury 2464789b73 Added more comments 2015-10-28 14:03:33 -07:00
Diptanu Choudhury 915be5e86c Selecting the ipv4 address if there are ipv4 and ipv6 addresses configured for an interface 2015-10-28 13:38:28 -07:00
Diptanu Choudhury fffb0ed5ae Exctracted a method to detect network interface 2015-10-28 11:11:13 -07:00
Alex Dadgar 9f7dcc4ced Use same binary as Fingerprint in the QemuCompatible function 2015-10-28 10:28:53 -07:00
Diptanu Choudhury 7a15cf0e45 Fix merge conflicts 2015-10-28 08:54:29 -07:00
Kenjiro Nakayama a79ae3c546 Assign IP when network device is specified 2015-10-28 21:19:06 +09:00
Alex Dadgar a5a1e45f4b Get Qemu to fingerprint and test properly on both windows and linux 2015-10-27 15:27:11 -07:00
Diptanu Choudhury 809f360743 Using the Go stdlib APIs to detect IP Address of a device 2015-10-27 14:14:25 -07:00
Diptanu Choudhury ca99960cc1 Merge pull request #334 from nak3/set-default-net-interface
Set default network interface rather than eth0
2015-10-27 11:30:03 -07:00
Kenjiro Nakayama e688dc3826 Set default network interface rather than eth0 for non-dev mode, and use loopback device for dev mode by default 2015-10-28 02:03:48 +09:00
Abhishek Chanda 70293e9bc8 Run gofmt 2015-10-26 19:24:37 +00:00
Clint 4b0dc2cb39 Merge pull request #288 from hashicorp/f-go-getter
Drivers: Use go-getter for artifact retrieval, add artifact support to Exec, Raw Exec drivers
2015-10-26 10:00:29 -05:00
Clint Shryock 343daeb1ea drivers: Add/Use go-getter to fetch remote binaries
Updates Qemu, Java drivers to use go-getter to fetch binaries
Adds remote artifact support for Exec, Raw Exec drivers
2015-10-26 09:40:06 -05:00
Kenjiro Nakayama fa005d75fa Set default network interface rather than eth0 2015-10-25 23:32:54 +09:00
Alex Dadgar b5caa6c5bd Merge branch 'master' of https://github.com/hashicorp/nomad 2015-10-23 16:23:54 -07:00
Alex Dadgar d2b23c9143 Format rkt_test 2015-10-23 16:23:43 -07:00
Abhishek Chanda 6ecab13b5d Cleanup tests
- Consolidate checking if non-windows and if qemu is installed
- Fix non-windows check
2015-10-23 14:19:22 -07:00
Jeff Mitchell 959c175ca1 Update the location of cleanhttp 2015-10-22 14:21:07 -04:00
Alex Dadgar 1652e443d8 Merge pull request #319 from hashicorp/cleanhttp
Use cleanhttp for truly clean clients and transports.
2015-10-22 09:52:54 -07:00
Jeff Mitchell cea5fd9081 Use cleanhttp for truly clean clients and transports. 2015-10-22 10:58:23 -04:00
Abhishek Chanda 81da6ce54e Just put the version as string 2015-10-21 21:09:04 -07:00
Alex Dadgar c3fbce46b7 Update cgroup CPU to use int comparison not float 2015-10-19 13:33:22 -07:00
Alex Dadgar 489b9a925b Check for invalid CPU limit for cgroups 2015-10-19 11:28:05 -07:00
Alex Dadgar fd77180d64 Merge pull request #291 from hashicorp/d-rkt-volume-mounts-blocked
Document that Rkt doesn't support task directory mounting
2015-10-16 17:07:53 -07:00
Abhishek Chanda 9e541450c2 Actually append jvm opts to the CLI
- Also adds a test
2015-10-16 22:45:16 +00:00
Abhishek Chanda dfbdb10fcb No need to pass jvm_options initially 2015-10-16 12:44:43 -07:00
Abhishek Chanda ab1a8f3532 Some minor style cleanups 2015-10-16 12:44:33 -07:00
Abhishek Chanda 6ab97078e5 Support passing options to the JVM in java driver
Closes #292
2015-10-16 12:44:33 -07:00
Alex Dadgar cadc738fa0 Fix broken test 2015-10-16 10:11:31 -07:00
Alex Dadgar f185701d6d Rkt driver clears task environment variables 2015-10-15 18:19:13 -07:00
Alex Dadgar 384a622c59 Add clearing to environment variables 2015-10-15 18:13:05 -07:00
Alex Dadgar c7fd8993c1 Change two helper functions to be methods 2015-10-15 17:47:14 -07:00
Alex Dadgar a0d9f8dd33 Remove debug lines 2015-10-15 17:30:40 -07:00
Alex Dadgar 2f6a279d09 Docker alloc dir tests and test fixes 2015-10-15 16:59:08 -07:00
Alex Dadgar 1d15f6eda6 Bind alloc dir and task local dir to docker containers and parse args correctly 2015-10-15 16:40:07 -07:00
Abhishek Chanda 953bd8b53f Trim extra newline from kernel version 2015-10-15 00:54:21 -07:00
Abhishek Chanda dbe9fa9f27 Run gofmt on the docker driver 2015-10-13 23:21:16 +00:00
Abhishek Chanda 36dc8a5a18 Do not default to a network mode
Makes the driver error out when a wrong or un-supported
network_mode is used
2015-10-13 10:57:21 -07:00
Alex Dadgar 76ec48bfce Merge pull request #215 from Carevoyance/gce_fingerprint
Add GCE fingerprinting functionality
2015-10-12 16:14:32 -07:00
Daniel Imfeld c9c8dee48e More syntax cleanup 2015-10-12 17:57:45 -05:00
Daniel Imfeld 9730df8411 Fix old comments and other syntax cleanup 2015-10-12 16:56:33 -05:00
Alex Dadgar 3c7bbc6fd7 Update driver config names for consistency and make the trust_prefix optional 2015-10-12 14:37:56 -07:00
Alex Dadgar 9af8e8d92d Log starting command 2015-10-12 14:33:19 -07:00
Alex Dadgar 6417c506ad Capture Rkt logs 2015-10-12 14:33:18 -07:00
Alex Dadgar cd3135c874 Separate args from exec command; inject environment variables and general cleanup of Rkt driver 2015-10-12 14:33:18 -07:00
Alex Dadgar a4035050e8 Change Docker/Rkt to set driver to 1 not true for consistency 2015-10-12 13:15:37 -07:00
Alex Dadgar c56017179f Fix raw exec test race condition 2015-10-09 20:56:28 -07:00
Daniel Imfeld 9f58d85762 GCE fingerprinter no longer updates network resources
It has nothing to add that the generic fingerprinters aren't
finding on their own already.
2015-10-09 18:34:57 -05:00
Alex Dadgar 540007c1a3 Merge pull request #237 from hashicorp/f-raw-exec-driver
A raw fork/exec driver that provides no isolation.
2015-10-09 11:30:12 -07:00
Alex Dadgar db0ba9688d Better parsing of raw_exec option and updated docs 2015-10-09 11:29:59 -07:00
Daniel Imfeld cbe349b8b4 Add a few more GCE-specific attributes:
* cpu-platform
* scheduling.automatic-restart
* scheduling.on-host-maintenance
* network.NETWORKNAME=true
2015-10-09 09:10:40 -05:00
Chris Bednarski 0d6c75eefb Merge pull request #225 from hashicorp/b-docker-port
Change docker default port to support windows and boot2docker
2015-10-08 23:50:11 -07:00
Alex Dadgar 1570cf1a77 Merge pull request #240 from crosbymichael/wait
Reap process after sending kill signal
2015-10-08 17:10:23 -07:00
Michael Crosby 5fee9f37ec Reap process after sending kill signal
Without waiting on the process after sending a kill will cause zombies
and we all know what happens when we have a zombies outbreak.

There are other calls to kill in this file but they are done on the main
process for the task so they should have the wait method called at
sometime in their lifecycle.
2015-10-08 16:54:41 -07:00
Alex Dadgar cd44cc9ec6 Fix go vet format errors in exec_linux 2015-10-08 16:47:29 -07:00
Alex Dadgar 8130510a5a Fix AWS Networking Fingerprint tests failing when actually on AWS 2015-10-08 12:49:43 -07:00
Chris Bednarski a9f1f64199 Use DefaultDockerHost from fsouza upstream 2015-10-08 12:35:19 -07:00
Alex Dadgar 751a17ef0c Actually add the files 2015-10-08 12:19:39 -07:00
Alex Dadgar 9d1d179deb Change name from pexec to raw_exec; hamming distance one seemed like a bad idea 2015-10-08 12:19:39 -07:00
Alex Dadgar dbbaf03b98 Privileged exec driver 2015-10-08 12:19:39 -07:00
Chris Bednarski be93bbee76 Merge pull request #233 from hashicorp/docs-executor
Clarified package documentation for executor
2015-10-08 11:36:11 -07:00
Chris Bednarski 2574655a8c Insert missing 'may be' and clean up some other formatting / phrasing 2015-10-08 01:38:39 -07:00
Chris Bednarski 96a56d865a Tweak phrasing to be clearer *why* that's not what we want 2015-10-08 00:07:07 -07:00
Chris Bednarski e005af18ba Removed wayward 's' 2015-10-08 00:04:45 -07:00
Chris Bednarski ab217e6c51 Clarified package documentation for executor in response to #232 2015-10-08 00:02:46 -07:00
Alex Dadgar 1467cb6131 Merge pull request #165 from achanda/rkt
Add a driver for rkt
2015-10-07 16:00:21 -07:00
Abhishek Chanda ba362fae07 Run gofmt 2015-10-07 22:24:16 +00:00
Abhishek Chanda 0e185b6eaf Add an optional exec parameter to task config
This overrides the default exec command in the ACI
2015-10-07 15:15:36 -07:00
Daniel Imfeld d66e78c5ca Parse information for all GCE network interface.
* No longer setting Device name in the network interface since we can't
match up the info here with real device names.
* Add attributes for all external IPs if more than one exists.
2015-10-07 13:35:20 -05:00
Abhishek Chanda 853cd7fa2d Use Run for adding trust prefix
The trust needs to be added before anything can progress
2015-10-07 11:15:17 -07:00
Daniel Imfeld 70350aead9 Compact tags and attribute reading code. 2015-10-07 12:39:23 -05:00
Ivo Verberk c6e1b13b51 Fix vet warnings 2015-10-07 12:26:58 +02:00
Daniel Imfeld dc1c8e5273 TestNetworkFingerprint_notAWS passes even when actually on AWS 2015-10-06 21:21:42 -05:00
Daniel Imfeld 892cad6775 NonXXX tests should pass when actually running in their respective environments.
Fixes #224
2015-10-06 21:16:28 -05:00
Chris Bednarski 3c170b70ee Remove panic -- client is nil when there is an error 2015-10-06 19:09:59 -07:00
Chris Bednarski a4c3da6c0c Merge branch 'master' into b-docker-port 2015-10-06 17:54:32 -07:00
Chris Bednarski ec2e3d4f49 Merge pull request #221 from hashicorp/b-docker-tests-osx
Add skip detection for all docker tests
2015-10-06 17:53:47 -07:00
Chris Bednarski d046858057 Support boot2docker or VM for dev/test 2015-10-06 17:53:05 -07:00
Chris Bednarski 67e3c4a4f5 Merge branch 'master' into b-docker-port 2015-10-06 16:38:49 -07:00
Alex Dadgar 441b2de4fb Fix alloc_dir error message 2015-10-06 16:38:06 -07:00
Chris Bednarski 88bb01ab6f Fingerprint test should now behave correctly when the executor is not installed; fix some go vet issues 2015-10-06 16:33:02 -07:00
Chris Bednarski 8cd34d3947 Use docker.NewClient; move dockerClient before it's used 2015-10-06 16:26:31 -07:00
Abhishek Chanda bd91c51643 Use Start to run commands
Run blocks
2015-10-06 15:56:39 -07:00
Abhishek Chanda ef84902f79 Add prefix to all message logs for rkt driver 2015-10-06 15:56:39 -07:00
Abhishek Chanda 4be849445d Fix function call
Make it skip if rkt is not installed
2015-10-06 15:56:39 -07:00
Abhishek Chanda 99b3660047 Register rkt as a built in driver 2015-10-06 15:56:39 -07:00