Commit graph

1197 commits

Author SHA1 Message Date
Diptanu Choudhury a02735e8d9 Writing contents of buffer to writer even if there was an error 2016-01-13 11:38:43 -08:00
Diptanu Choudhury 9e5d6d7fe8 Implemeted readAt 2016-01-12 22:06:42 -08:00
Diptanu Choudhury 74af0da4cd Implemented the Stat API 2016-01-12 21:28:07 -08:00
Diptanu Choudhury a1453e6180 Added the Stat API 2016-01-12 15:25:51 -08:00
Diptanu Choudhury e3d7e693dc Added methods for listing directories inside an alloc 2016-01-12 15:03:53 -08:00
Alex Dadgar 6d157a0337 Fix tests 2016-01-11 09:58:31 -08:00
Alex Dadgar 7fe6c8bd1b Add folder 2016-01-11 09:58:31 -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
Diptanu Choudhury b1d1e966ba Printing error message if check is not valid 2016-01-07 17:51:57 -08:00
Alex Dadgar ef36ae0168 Use basic executor 2016-01-06 15:31:08 -08:00
Diptanu Choudhury 161f90abc6 Adding a , between args to netdav 2016-01-05 13:17:51 -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
Alex Dadgar 813d3545e3 Merge pull request #633 from achanda/opts_change
Update the insecure flag
2015-12-28 13:35:36 -08:00
Kenneth Feng a85b2c0e90 linux/exec: add /usr/share to ChrootEnv 2015-12-28 13:39:34 -05: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
Alex Dadgar c1e5f873d8 Merge pull request #610 from achanda/isolators
Add support for CPU and memory isolators
2015-12-22 10:09:12 -08:00
Alex Dadgar a024410a2d Merge pull request #614 from achanda/handle_status
Handle non 200 codes while getting env metadata
2015-12-22 10:05:32 -08:00
Abhishek Chanda cd51ee6430 Handle non 200 codes while getting env metadata 2015-12-22 05:23:32 +00: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
Chris Hines 2a9a710ae6 Allow for low precision time.Now on Windows. 2015-12-21 10:43:45 -05: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
Alex Dadgar b0f321c2c7 Fix test because of jitter 2015-12-18 12:17:54 -08:00
Alex Dadgar 307fbef719 Add jitter 2015-12-18 12:17:54 -08:00
Alex Dadgar a5e9e2068c Make NewRestartTracker private 2015-12-18 12:17:54 -08:00
Alex Dadgar 31c3e12957 merge 2015-12-18 12:17:13 -08:00
Diptanu Choudhury d8e51bb6b6 Moving the de-register once a task moves to DEAD state 2015-12-17 16:41:29 -08:00
Clint Shryock 77b5639160 Executors/Linux: Update Executor config struct 2015-12-17 10:25:42 -06:00
Diptanu Choudhury f6fb42835e Using cgo dependencies to look up users 2015-12-15 11:12:13 -08:00
Diptanu Choudhury b7f556fabc Changed some comments 2015-12-14 18:05:58 -08:00
Diptanu Choudhury 2eb03e1d23 Renamed serviceId to serviceID 2015-12-14 15:57:56 -08:00
Diptanu Choudhury 6b6d74e2eb Fixed tests 2015-12-14 15:47:01 -08:00
Diptanu Choudhury 76486d71e2 Making the allocs hold service ids 2015-12-14 15:08:35 -08:00
Diptanu Choudhury 0c4b76e0ef Changing the prefix of the service 2015-12-14 11:14:22 -08:00
Diptanu Choudhury 3c01a4de27 Fixed log printing logic 2015-12-11 15:45:49 -08:00
Alex Dadgar b943c6e278 Remove all calls to the default logger 2015-12-11 15:02:13 -08:00
Diptanu Choudhury f932c5f9df Refactored test and added some comments 2015-12-11 14:14:04 -08:00
Diptanu Choudhury e389674d34 Exctracted nomad- to a constant 2015-12-11 14:06:51 -08:00
Diptanu Choudhury 1b942c158d Removing extra lines 2015-12-11 14:06:51 -08:00
Diptanu Choudhury c7c0748cea Making a struct to hold consul service config 2015-12-11 14:06:51 -08:00
Diptanu Choudhury d9fc07fb08 Added a test for the filtering logic of service and clients 2015-12-11 14:06:51 -08:00
Diptanu Choudhury a53e035b49 Deregister services and checks which are managed by Nomad 2015-12-11 14:06:51 -08:00
Diptanu Choudhury dd6df187fb Merge pull request #567 from hashicorp/r-mute-consul-debug-messages
mute consul debug messages
2015-12-11 13:58:15 -08:00
Diptanu Choudhury 7bbf3b6497 Renaming constants 2015-12-11 13:47:35 -08:00
Diptanu Choudhury 6b43aa6753 Renaming constants 2015-12-11 13:18:04 -08:00
Diptanu Choudhury 8e97e7d85f Not continuing sync if we couldn't get services and checks from consul 2015-12-11 13:10:20 -08:00
Chris Hines 5f5f91717d Avoid leaking a time.Ticker. 2015-12-11 15:30:53 -05:00
Diptanu Choudhury 7094ea53d6 Printing most of the consul messages only when the agent is available 2015-12-11 09:22:47 -08:00
Diptanu Choudhury 7d6a687b95 Changed the log line in consul fingerprinter 2015-12-11 09:10:21 -08:00
Diptanu Choudhury 49d9d04025 Print consul debug messages only when the consul agent is available 2015-12-11 09:06:03 -08:00
Diptanu Choudhury d54ccfb0ec Muted the consul debug messages 2015-12-11 09:06:03 -08:00
Diptanu Choudhury 4a6e09218e Merge pull request #561 from hashicorp/b-consul-sync
Generate check names, check id and service id on the server side
2015-12-10 16:48:01 -08:00
Diptanu Choudhury 4395438400 Changing naming and debug message schemes 2015-12-10 16:47:43 -08:00
Alex Dadgar 0a950a4070 Merge pull request #556 from hashicorp/b-cache-docker-client
Do.Once docker client initialization
2015-12-10 16:19:06 -08:00
Diptanu Choudhury b3c161a7d5 Generate check names, check id and service id on the server side 2015-12-10 16:07:17 -08:00
Chris Bednarski 23c7012707 Merge pull request #558 from hashicorp/b-raw-exec-dev
Enable raw exec in dev mode
2015-12-10 15:29:17 -08:00
Chris Bednarski 545f0ff120 Move raw_exec enabled into the DevMode config block 2015-12-10 15:24:21 -08:00
Charlie Drage bbae520a38 Fix minor spelling error 2015-12-10 18:09:14 -05:00
Chris Bednarski 36e828ea9a Use ReadBoolDefault 2015-12-10 15:03:25 -08:00
Chris Bednarski 65d4aa889b Enable raw exec in dev mode 2015-12-10 14:48:06 -08:00
Alex Dadgar 5eeec26102 Do Once docker client initialization 2015-12-10 13:49:29 -08:00
Chris Bednarski 241d7d93bd Merge pull request #519 from ChrisHines/windows-storage
client/fingerprint: Use GetDiskFreeSpaceEx instead of parsing output of fsutil on Windows.
2015-12-10 10:13:20 -08:00
Diptanu Choudhury 0bd552edb9 Added some extra log lines 2015-12-10 06:05:07 -08:00
Chris Hines 53ecc03022 Improve error messages. 2015-12-09 16:34:18 -05:00
Diptanu Choudhury de06482506 Sending the user process sigint during shutdown on linux 2015-12-08 08:14:13 -08:00
Diptanu Choudhury a2ef63a67d Fixing some log lines 2015-12-07 06:25:00 -08:00
Chris Bednarski 9292a97062 Merge branch 'user-lookup-nocgo' of https://github.com/carlosdp/nomad into b-user-lookup 2015-12-01 13:44:56 -08:00
Carlos Diaz-Padron 55e49506f0 Refactor out userLookup to helper package
Also replaces user.Lookup in exec driver
2015-12-01 11:59:55 -08:00
Alex Dadgar b039f963f0 Merge pull request #514 from kaskavalci/master
Fixed git vet error on formatting
2015-12-01 08:58:19 -08:00
Chris Hines 6697980331 Use GetDiskFreeSpaceEx instead of parsing output of fsutil on Windows. 2015-11-30 16:43:25 -05:00
Halil Kaskavalci 8957a47ec4 Fixed git vet error on formatting 2015-11-30 10:27:26 +00:00
Bryant Luk 22e9711852 Verify Consul SSL by default
- Matches documentation default value and clarifies config
2015-11-28 19:58:09 -06:00
Diptanu Choudhury e25c260694 Merge pull request #509 from hashicorp/f-service-name
Implemented interpolation of Job, Task group and Task Names in Service Name
2015-11-26 23:28:13 -08:00
Diptanu Choudhury 29915ddd16 Moving the args to helper 2015-11-26 14:13:19 -08:00
Diptanu Choudhury 9862c476e9 Merge pull request #504 from hashicorp/b-checks
This simplifies the logic of tracking services and checks
2015-11-26 13:59:38 -08:00
Diptanu Choudhury fbe3bd0724 Fixed some docs 2015-11-26 13:47:02 -08:00
Diptanu Choudhury 7bab4d191a Added more docs 2015-11-26 11:25:09 -08:00
Diptanu Choudhury 86a45b5b39 Added a mock consul api client 2015-11-26 01:03:16 -08:00
Diptanu Choudhury f71a664faa Fixed a few tests 2015-11-26 00:26:10 -08:00
Diptanu Choudhury 01ca982f92 Added a test for modifying check 2015-11-25 18:37:51 -08:00
Diptanu Choudhury db8c4170b3 Fixed merge conflicts 2015-11-25 18:32:37 -08:00
Diptanu Choudhury 634e856c1f Added some comments 2015-11-25 18:31:11 -08:00
Diptanu Choudhury 5eb8a26376 Fixed tests 2015-11-25 18:23:47 -08:00
Diptanu Choudhury 9cf10d64a5 making the service checks in service pointers 2015-11-25 17:44:57 -08:00
Alex Dadgar 40b73758c9 Merge pull request #502 from ChrisHines/portable-driver-tests
Portable client/driver tests.
2015-11-25 17:36:40 -08:00
Diptanu Choudhury 32f0a80701 Made the logic to track checks simpler 2015-11-25 17:28:44 -08:00
Diptanu Choudhury f66069a08d Using the service id in check hash 2015-11-25 15:17:27 -08:00
Diptanu Choudhury c4fef7e91d Fixed the alloc runner test 2015-11-25 14:54:52 -08:00
Diptanu Choudhury f26d301702 Fixed the build 2015-11-25 14:45:28 -08:00
Diptanu Choudhury 3f82deff60 Added options for adding more consul configuration 2015-11-25 13:39:16 -08:00
Diptanu Choudhury b35819f10a Merge pull request #498 from hashicorp/b-consul-check
Handle updates of Service and Check definitions
2015-11-25 13:17:26 -08:00
Chris Hines 37745f66c9 Speed up tests by allowing parallel execution. 2015-11-25 15:56:55 -05:00
Chris Hines 5b2168bb12 Use package testtask and httptest.Server to make client/driver tests OS independent. 2015-11-25 15:56:20 -05:00
Chris Hines e569fb4787 Use package testtask in client/driver/spawn tests. 2015-11-25 15:34:55 -05:00
Chris Hines 46e848c8ec Eliminate special case in production code for embedding test binary into chroot. 2015-11-25 15:31:29 -05:00
Diptanu Choudhury 95942b4179 Improved tests 2015-11-25 12:06:14 -08:00
Diptanu Choudhury 576a6f402e Added a test to make sure we are adding a check to a service 2015-11-25 11:20:36 -08:00
Diptanu Choudhury 5480a2bd0f Saving the host and port in tracked service 2015-11-24 18:58:53 -08:00
Diptanu Choudhury 6353dde236 Fixing comment and syntax 2015-11-24 18:43:23 -08:00
Diptanu Choudhury 28a21061ce Implemented syncing of checks 2015-11-24 18:39:38 -08:00
Chris Hines d7ebe099c1 Factor portable test task out of client/driver/executor. 2015-11-24 20:59:42 -05:00
Diptanu Choudhury f72027277d Dried the tests 2015-11-24 17:33:04 -08:00
Diptanu Choudhury 2c0822284b Tracking the tasks too 2015-11-24 17:26:30 -08:00
Alex Dadgar c7cd7abe22 Inject the current binary into the chroot in test mode 2015-11-24 16:30:53 -08:00
Chris Hines ea5a60629a Fix Executor_Open_Invalid test for Windows. 2015-11-24 16:30:53 -08:00
Chris Hines cb262d787f Include Executor_Open_Invalid in test suite. 2015-11-24 16:30:53 -08:00
Chris Hines 769415dbd2 Improve names and documentation in test code. 2015-11-24 16:30:53 -08:00
Chris Hines ec7e78680d Use TestMain to provide portable echo, sleep, and write commands. 2015-11-24 16:30:53 -08:00
Diptanu Choudhury 919f763ca8 Added a test to re-sync services 2015-11-24 14:37:14 -08:00
Diptanu Choudhury 135006699b Renamed consul client to service 2015-11-24 12:34:26 -08:00
Alex Dadgar 5d0a257d6a Merge branch 'master' of https://github.com/hashicorp/nomad 2015-11-24 11:06:56 -08:00
Alex Dadgar b2daa5e2e6 Standardize log messages in fingerprinters to DEBUG 2015-11-24 11:06:51 -08:00
Diptanu Choudhury a3d5b266a0 Registering Checks independently 2015-11-24 10:02:33 -08:00
Diptanu Choudhury c1a16eefaa Removing a hot debug line 2015-11-24 10:02:33 -08:00
max 953ed6ac76 Client config option "fingerprint.whitelist" 2015-11-24 16:18:49 +01:00
Diptanu Choudhury ff01b1dbd7 Updated changelog 2015-11-23 11:01:41 -08:00
Diptanu Choudhury 3d002b716d removing redundant fail() 2015-11-23 10:59:07 -08:00
Diptanu Choudhury b8c5268d88 Making the restart tracker aware of the exit codes 2015-11-23 10:56:38 -08:00
Diptanu Choudhury 4d2fe73dfb Not restarting if a task exited properly 2015-11-22 23:47:15 -08:00
Alex Dadgar 6e59527a97 Clear consul attributes if consul couldn't be fingerprinted 2015-11-22 13:51:10 -08:00
Alex Dadgar 77d86d5bb0 Fingerprinter only creates one consul client 2015-11-22 13:42:06 -08:00
Chris Bednarski 3ed8cb5b8b Merge pull request #481 from hashicorp/b-vet
Fix some issues caught by go vet
2015-11-20 16:31:47 -08:00
Chris Bednarski e6daf57b10 Merge pull request #480 from hashicorp/f-docker-tls-config
Added docker.tls config file options and docs
2015-11-20 16:31:41 -08:00
Chris Bednarski 655a4bf334 Fix some issues caught by go vet 2015-11-20 16:01:27 -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
Diptanu Choudhury f4efcf9678 Merge pull request #479 from hashicorp/r-consul-check
Using the service name in the service id so that it's unique
2015-11-20 15:33:57 -08:00
Alex Dadgar 34b2f62c0b Merge pull request #442 from ChrisHines/windows-spawn
Fix tests for nomad/client/driver/spawn package to work on Windows.
2015-11-20 14:49:54 -08:00
Chris Bednarski 16291b2d4f Merge pull request #476 from hashicorp/b-docker-expose
Fixed some issues with expose, port mapping, and environment variables
2015-11-20 14:24:25 -08:00
Alex Dadgar 835343f47d Renamed whitelisted to skipped and update debug line 2015-11-20 14:07:35 -08:00
Chris Bednarski 10bb550ad8 Added client checks back to the tests that can't use dockerSetup() 2015-11-20 13:50:47 -08:00
Diptanu Choudhury aaca44c512 Using the service name in the service id so that it's uniq 2015-11-20 10:35:04 -08:00
Chris Bednarski dd8c9c28f8 Added nil to network.MapLabelToValues call 2015-11-19 22:18:19 -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
Alex Dadgar f64605968f Tests 2015-11-19 16:43:08 -08:00
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
Abhishek Chanda 528632da3d Add missing import and remove unsued one 2015-10-06 15:56:39 -07:00
Abhishek Chanda 612aa69f34 Do not run containers interactively 2015-10-06 15:56:39 -07:00
Abhishek Chanda 578aa89e81 Do not register to the metadata service 2015-10-06 15:56:39 -07:00
Abhishek Chanda ab6d756dfe Remove a stray comment 2015-10-06 15:56:39 -07:00
Abhishek Chanda 02eb3659c9 Fix constructing the handle 2015-10-06 15:56:39 -07:00
Abhishek Chanda b6b7d9e875 Add a test fort he rkt driver 2015-10-06 15:56:39 -07:00
Abhishek Chanda bcb74acbca Fix name of prefix 2015-10-06 15:56:39 -07:00
Abhishek Chanda 8efe3e18ba Add a driver for rkt
rkt docs here
https://github.com/coreos/rkt
2015-10-06 15:56:39 -07:00
Alex Dadgar f40397e6ef Switch to using BlkioWeight 2015-10-06 15:44:01 -07:00
Chris Bednarski 5e73e746dc Merge branch 'docker-use-environment' of https://github.com/carlosdp/nomad into b-docker-port 2015-10-06 15:36:06 -07:00
Chris Bednarski ef3af6996b Updated Throttle Read/Write to match upstream changes in runc; now takes a list of ThrottleDevice structs instead of an int 2015-10-06 15:31:47 -07:00
Chris Bednarski 42afc2bfeb This is needed for 1.4.2 compat; not sure what removed it 2015-10-06 00:32:34 -07:00
Chris Bednarski 58217619e3 Add skip detection for all docker tests 2015-10-06 00:27:05 -07:00
Daniel Imfeld 32d5c61779 Consolidate GCEMetadataClient into EnvGCEFingerprint
This allows easier reuse of the same client across multiple functions.
2015-10-05 13:13:25 -05:00
Daniel Imfeld a85dda68fe And add a comment to the constant. 2015-10-05 12:59:02 -05:00
Daniel Imfeld adbb23e267 Use a constant for the default GCE metadata URL 2015-10-05 12:57:45 -05:00
Daniel Imfeld 46bbfc3549 isAWS should return false on GCE
GCE and AWS both expose metadata servers, and GCE's 404 response
includes the URL in the content, which maatches the regex. So,
check the response code as well and if a 4xx code comes back,
take that to meanit's not AWS.
2015-10-05 00:42:34 -05:00
Daniel Imfeld a43a262e66 Fingerprinting code for GCE nodes
This reads the following:

* hostname
* instance id
* machine-type
* zone
* internal IP
* external IP (if any)
* tags
* attributes

Atributes are placed under the platform.gce.attr.* hierarchy.

Tags are set up as platform.gce.tag.TagName=true.
2015-10-05 00:40:43 -05:00
Alex Dadgar f441c4c65d Cleanup allocations when in dev mode 2015-10-04 13:36:03 -07:00
Carlos Diaz-Padron aaddc7bf6c Use environment to connect to Docker by default
Uses the environment definition for docker by default. Docker will
default to the unix/tcp socket if the environment is not set.
2015-10-04 12:59:54 -07:00
Alex Dadgar aeb400cd8a update test to reflect not uppercasing passed env vars 2015-10-02 17:49:18 -07:00
Antoine POPINEAU a03ce2b39c Removed capitalization of user-defined envvars. 2015-10-02 17:46:55 -07:00
Antoine POPINEAU 56944536fc Moved the envvars logic to TaskEnvironment and TaskEnvironmentVariables(). Added tests there. 2015-10-02 17:46:55 -07:00
Antoine POPINEAU 722141bfa6 Added a jobspec directive to specify envvars. Updated Docker driver to use them accordingly. 2015-10-02 17:46:55 -07:00
Alex Dadgar e60e6ff8f5 Add debug line when setting link speed to default 2015-10-02 17:32:17 -07:00
Alex Dadgar 4cc8588cb5 Merges 2015-10-02 17:32:11 -07:00
Alex Dadgar faf8002d2d go-fmt 2015-10-02 10:54:04 -07:00
Alex Dadgar 0c7f3e21d7 Merge pull request #199 from achanda/double_call
Fix two issues where settings were not taking effect
2015-10-02 10:52:41 -07:00
Abhishek Chanda 3751b46673 Make sure createHostConfig is called only once
The second call discards any mods to port binding or
network type

Fixes #185 and #196
2015-10-02 10:43:37 -07:00
Antoine POPINEAU f35ebe14ad Merge branch 'master' into dev/net-fingerprint 2015-10-02 09:38:35 +02:00
Antoine POPINEAU 36daef1625 Renamed all instances of Iface to NetworkInterface. 2015-10-02 09:29:18 +02:00
Alex Dadgar 191ea91cdd Merge pull request #184 from achanda/docker_net
Enable setting networking mode for docker
2015-10-01 19:32:48 -07:00
Abhishek Chanda 0cb649bd5f Enable setting networking mode for docker
This patch enables setting networking mode for the docker
driver. This does not handle the `container` mode.
Closes #175
2015-10-01 18:52:41 -07:00
Antoine POPINEAU 3a4b304a53 Refactored code. 2015-10-01 21:16:39 +02:00
Antoine POPINEAU 2e1488fb04 Comment some undocumented code. 2015-10-01 20:39:10 +02:00
Ryan Uber 836fd8a015 Merge pull request #153 from aldergren/master
Prevent df on linux from adding line breaks to output
2015-10-01 11:21:02 -07:00
Antoine POPINEAU b01912abdc Forgot some error checking. 2015-10-01 17:33:40 +02:00
Antoine POPINEAU 70d34da1bc Client config param added to specify net iface to use for fingerprinting. Added a Golang-native method for determining the interface IP address. 2015-10-01 17:31:47 +02:00
Orivej Desh 443d2deb32 Update obsolete comments 2015-09-29 20:33:11 +00:00
Orivej Desh d844997661 Fix "ifconfig not found" warning 2015-09-29 20:06:37 +00:00
Niklas Aldergren 9145d8ffb9 Prevent df on linux from adding line breaks to output 2015-09-29 13:23:41 +02:00
Orivej Desh 4ecf7a0f74 Improve link speed fingerprint error reporting
With disconnected eth0 log output now looks like:

[WARN] fingerprint.network: Unable to parse IP in output of '/bin/ifconfig eth0'
[WARN] fingerprint.network: Unable to parse Speed in output of '/usr/sbin/ethtool eth0'

In a virtual machine:

[WARN] fingerprint.network: Unable to parse Speed in output of '/sbin/ethtool eth0'
[WARN] fingerprint.network: Unable to read link speed from /sys/class/net/eth0/speed
2015-09-28 23:34:25 +00:00
Mitchell Hashimoto 690634d245 client: fix windows build errors 2015-09-27 23:53:25 -07:00
Armon Dadgar 6ff19853ef docker: check for missing unix socket 2015-09-27 17:49:58 -07:00
Alex Dadgar d314b514f8 Better Sprintf 2015-09-27 17:41:43 -07:00
Alex Dadgar f8e434aa1d Add environment package 2015-09-27 17:37:25 -07:00
Alex Dadgar 7ba9681a94 Fix args in test 2015-09-27 17:37:24 -07:00
Alex Dadgar a4a440da8e ParseAndReplace args at the executor level 2015-09-27 17:37:24 -07:00
Alex Dadgar 76dfa9bb0f Check err 2015-09-27 17:37:24 -07:00
Alex Dadgar b95d349a3e Set the allocdir correctly when using the linux executor 2015-09-27 17:37:24 -07:00
Alex Dadgar a45f9f2e71 Pull task environments into their own type to be reusable across drivers and executors 2015-09-27 17:37:24 -07:00
Alex Dadgar a96f6dfa6d Remove cruft from rebase 2015-09-27 17:37:24 -07:00
Alex Dadgar a7eebcbd5b merge fixes 2015-09-27 17:37:24 -07:00
Chris Bednarski 162247ffbe Correct implementation of config check for container and image cleanup; moved into Start and Open because handle does not have the config object 2015-09-27 13:59:38 -07:00
Chris Bednarski 9455370d8e Merge branch 'master' into f-docker-config-cleanup 2015-09-26 21:52:02 -07:00