Diptanu Choudhury
2bfdd71db9
add a logger
2016-01-14 23:16:30 -08:00
Diptanu Choudhury
3fb21b1b40
excluding directories before opening file for writing
2016-01-14 23:05:45 -08:00
Diptanu Choudhury
385fe065ec
Added a test for testing if logrotator creates an empty dir when it starts from scratch
2016-01-14 22:43:52 -08:00
Diptanu Choudhury
5835d0e436
Fixed the logic of rotating files
2016-01-14 22:36:55 -08:00
Diptanu Choudhury
97dca83866
Fixed the test for writing only N amount of bytes as much as capacity
2016-01-14 18:30:53 -08:00
Diptanu Choudhury
b474810134
Added a test for file rotation
2016-01-14 11:41:31 -08:00
Diptanu Choudhury
9749ee301d
Added an impl for log-rotator
2016-01-14 11:13:11 -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
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
Abhishek Chanda
74a5292789
Move constants to the top
2015-12-22 05:15:37 +00:00
Abhishek Chanda
0918a38221
Do not allow rkt version less than 0.14.0
2015-12-21 17:48:21 +00:00
Abhishek Chanda
1c4e380868
Use camelCase for variable names
2015-12-21 16:37:21 +00:00
Abhishek Chanda
3d2589e797
Run gofmt
2015-12-21 06:09:11 +00:00
Abhishek Chanda
b843b1a853
Support CPU and meory isolators for the rkt driver
...
The rkt community added supprt for these isolators recently
2015-12-21 06:06:45 +00:00
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
Alex Dadgar
b943c6e278
Remove all calls to the default logger
2015-12-11 15:02:13 -08:00
Chris Hines
5f5f91717d
Avoid leaking a time.Ticker.
2015-12-11 15:30:53 -05: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
Chris Bednarski
545f0ff120
Move raw_exec enabled into the DevMode config block
2015-12-10 15:24:21 -08: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
Diptanu Choudhury
de06482506
Sending the user process sigint during shutdown on linux
2015-12-08 08:14:13 -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
Diptanu Choudhury
29915ddd16
Moving the args to helper
2015-11-26 14:13:19 -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
Chris Hines
d7ebe099c1
Factor portable test task out of client/driver/executor.
2015-11-24 20:59:42 -05: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
Alex Dadgar
b2daa5e2e6
Standardize log messages in fingerprinters to DEBUG
2015-11-24 11:06:51 -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
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
10bb550ad8
Added client checks back to the tests that can't use dockerSetup()
2015-11-20 13:50:47 -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
Chris Hines
3a77952d59
Handle additional edge cases when parsing environment variables.
2015-11-18 21:21:07 -05: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
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
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
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
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
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
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
0673b832fb
Fixed compilation issues with driver 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
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
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
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
787164044d
Enable Open tests for Exec/Java
2015-11-10 16:59:52 -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
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
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
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
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
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
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
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
Kenjiro Nakayama
1e47dd4c7d
Apply SELinux label to allocate directory of docker driver
2015-11-05 09:06:22 +09: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
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
Alex Dadgar
01e0be4cc6
Add comment explaining the qemu-img command on windows
2015-10-29 16:57:02 -07:00
Alex Dadgar
2781cbbde1
Exec driver only applies on linux as root
2015-10-28 17:22:04 -07:00
Alex Dadgar
a5a1e45f4b
Get Qemu to fingerprint and test properly on both windows and linux
2015-10-27 15:27:11 -07: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
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
Abhishek Chanda
81da6ce54e
Just put the version as string
2015-10-21 21:09:04 -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
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
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
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
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
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
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
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
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
d046858057
Support boot2docker or VM for dev/test
2015-10-06 17:53:05 -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
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
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
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
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
faf8002d2d
go-fmt
2015-10-02 10:54:04 -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
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
Armon Dadgar
6ff19853ef
docker: check for missing unix socket
2015-09-27 17:49:58 -07:00
Alex Dadgar
f8e434aa1d
Add environment package
2015-09-27 17:37:25 -07:00
Alex Dadgar
a4a440da8e
ParseAndReplace args at the executor level
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
Chris Bednarski
5678859752
Add configuration option for whether Nomad will clean up containers and images when they are no longer used
2015-09-26 18:53:15 -07:00
Chris Bednarski
79488baa4d
Add all containers when searching for images that are still in used, since the container using the image may be stopped
2015-09-26 18:51:36 -07:00
Chris Bednarski
af314b0f4d
Log an info when an image can't be removed because it's still in use
2015-09-26 00:34:57 -07:00
Chris Bednarski
5632a33036
Use env.Get, remove sha256 checks, and change from regexp to strconv to test for int
2015-09-25 23:55:01 -07:00
Chris Bednarski
7021ac3ce8
Add docker 'command' to docs; cleanup some comments
2015-09-25 23:28:23 -07:00
Chris Bednarski
23407c54af
Replace docker version and docker ps with native calls; no more exec!
2015-09-25 23:13:40 -07:00
Chris Bednarski
72cd22347f
Docker kill now exits with an error, as expected
2015-09-25 22:43:19 -07:00
Chris Bednarski
0c31a83783
Go native for docker API calls
2015-09-25 20:01:03 -07:00
Chris Bednarski
198159c5be
Put that back!
2015-09-25 18:38:41 -07:00
Chris Bednarski
a8c8fc2f96
Merge branch 'master' into b-docker-fixes
...
Conflicts:
client/driver/docker_test.go
client/driver/java_test.go
client/driver/qemu_test.go
2015-09-25 18:35:23 -07:00
Chris Bednarski
efb7c409bb
Improve handling of tagged docker images
...
- Converted Start() to use docker native client throughout
- Better handling of latest vs. tagged images
- We can now support multiple versions of an image
- We will now not download a tag if we already have it
2015-09-25 18:22:10 -07:00
Alex Dadgar
70a1a37f84
Small test cleanup
2015-09-25 17:55:29 -07:00
Chris Bednarski
d8e492d950
Added a failing test case for multiple docker tags
2015-09-25 17:38:07 -07:00
Chris Bednarski
aa3019780d
Added docker test to spin up 3 containers at the same time
2015-09-25 17:35:33 -07:00
Chris Bednarski
32d260281f
Added guards to tests so we can more gracefully degrade the test suite when thing are not installed
2015-09-25 16:49:26 -07:00
Chris Bednarski
b9dd4c40c5
Added basic resources to exec/java tests so each test has cpu, ram, and network
2015-09-25 16:49:18 -07:00
Alex Dadgar
3cea4288b9
Merge qemu test
2015-09-25 16:49:14 -07:00
Alex Dadgar
6725cbb3f5
Mount shared alloc dir, modified API and tests
2015-09-25 16:46:41 -07:00
Alex Dadgar
9d3e3c0704
AllocDirBuilder that creates the alloc directory structure
2015-09-25 16:46:41 -07:00
Armon Dadgar
5bc26c3f9d
Merge pull request #101 from hashicorp/f-qemu-network-update
...
driver/qemu: Use Restricted Ports, additional port forwarding
2015-09-25 16:36:46 -07:00
Clint Shryock
f1ede2f555
Fix bad copy-paste from refactoring
2015-09-25 08:36:46 -05:00
Chris Bednarski
d2aa4fd53c
Merge pull request #104 from hashicorp/f-docker-static-ports
...
Add static (reserved) ports for docker
2015-09-24 15:44:41 -07:00
Chris Bednarski
40ce6ece41
Get only one version of a docker container
2015-09-24 14:07:28 -07:00
Clint Shryock
4e6c795352
re-order the resources check and don't bail if no ports requested
2015-09-24 14:32:54 -05:00
Chris Bednarski
3fd3c2a913
Add test case for PopulateEnvironment
2015-09-24 00:17:33 -07:00
Chris Bednarski
f8e8084c71
Rename containerConfigForTask to createContainer to mirror the docker api call; other helper functions will follow this convention too
2015-09-24 00:00:46 -07:00
Chris Bednarski
a071bb6d59
Rename containerConfig to hostConfig since there are two types of container configs
2015-09-23 23:57:04 -07:00
Chris Bednarski
9ff0e88d33
Added static / reserved port allocations to docker
2015-09-23 23:45:34 -07:00
Clint Shryock
e67d892ea3
driver/qemu: Setup multiple port forwards
2015-09-23 23:15:28 -05:00
Chris Bednarski
1978be24d0
Format as string instead of casting to string
2015-09-23 19:29:53 -07:00
Chris Bednarski
e413c6f9d2
Support mapped ports and labelled ports for docker
2015-09-23 18:19:01 -07:00
Chris Bednarski
1654d08fca
Add docker ports; change to uppercase examples and tests
2015-09-23 18:01:08 -07:00
Chris Bednarski
8b2f8efe70
Merge branch 'master' into f-port-configs
2015-09-23 15:31:00 -07:00
Chris Bednarski
b8fd345128
Docs and remove uppercase since it's checked at the config parse step
2015-09-23 15:28:58 -07:00
Armon Dadgar
3bdae950c5
Merge pull request #97 from hashicorp/f-qemu-driver-docs
...
Basic Qemu docs
2015-09-23 14:37:56 -07:00
Clint Shryock
e2c1bfe19c
Basic Qemu docs
2015-09-23 14:44:49 -05:00
Chris Bednarski
73c4c1f210
Changed fmt for CPU to integer
2015-09-23 12:19:46 -07:00
Clint Shryock
0db8ce12d4
Update Java docs on how Java is detected
2015-09-23 14:16:43 -05:00
Clint Shryock
b93518b509
start the Qemu docs
2015-09-23 13:58:42 -05:00
Chris Bednarski
e2c324d098
Merge branch 'master' into f-port-configs
2015-09-23 11:57:12 -07:00
Chris Bednarski
f4ad6e51dc
Replaced List with Map
2015-09-23 11:56:36 -07:00
Chris Bednarski
e26dbf4850
Fix some printf tokens
2015-09-22 23:43:05 -07:00
Chris Bednarski
9067b2594f
Added environment variables to docker
2015-09-22 23:12:24 -07:00
Chris Bednarski
8bf45688b6
Check for nils before accessing data
2015-09-22 23:11:55 -07:00
Chris Bednarski
27376dc548
Added environment variables to Java
2015-09-22 22:36:10 -07:00
Chris Bednarski
3e90379f05
Pass dynamic ports to the exec driver via environment variables
2015-09-22 22:33:29 -07:00
Chris Bednarski
09249d877c
Removed comment that's no longer relevant
2015-09-22 20:11:07 -07:00
Alex Dadgar
dd2f16123f
Fix qemu check and add debug lines when a driver is disabled
2015-09-22 17:36:44 -07:00
Alex Dadgar
bbb3853dd8
Update Qemu Fingerprint check
2015-09-22 17:12:52 -07:00
Alex Dadgar
dd0a76a9d7
Disable exec/java/qemu when non-root on non-windows OSes
2015-09-22 16:32:05 -07:00
Alex Dadgar
0e3f21b34f
Linux executor with cgroup isolation support
2015-09-21 09:08:57 -07:00
Clint Shryock
61948802a8
executor/linux: Add UUID for the name, return error on failure to apply
2015-09-21 09:08:57 -07:00
Clint Shryock
067e65bf12
exec/linux: move Limit to after Start
2015-09-21 09:08:57 -07:00
Clint Shryock
0c526ddb8e
spike on adding cgroups
2015-09-21 09:08:57 -07:00
Chris Bednarski
57e4f7c44f
Merge branch 'master' into f-executor
2015-09-15 19:03:52 -07:00
Chris Bednarski
4cefbc3c22
Rename exec package to executor so it works better with goimports; fixes for Java driver
2015-09-15 14:03:03 -07:00
Chris Bednarski
6a7b82f7ba
Update Java driver to use Executor
2015-09-15 13:45:48 -07:00
Chris Bednarski
9db88f6013
Updated exec driver to use nomad/client/exec
2015-09-15 13:11:56 -07:00
Chris Bednarski
da93d4a30f
Change error to err to be consistent with other usage
2015-09-11 10:26:33 -07:00
Chris Bednarski
4f83bc7090
Fix typos
2015-09-10 11:35:03 -07:00
Chris Bednarski
2ccad3d6e8
Change panic to a more helpful message
2015-09-09 19:04:06 -07:00
Chris Bednarski
237bf5f68e
Merge branch 'f-driver-config' into f-docker-resource-constraints
2015-09-09 18:47:35 -07:00
Chris Bednarski
2a40673a3a
Relax Qemu version regexp to accomodate build identifier in the version command
2015-09-09 18:39:40 -07:00
Chris Bednarski
cc4d361ee9
Updated Qemu and tests to use DriverContext
2015-09-09 18:38:52 -07:00
Chris Bednarski
0281debee4
Merge branch 'master' into f-driver-config
...
Conflicts:
client/driver/driver.go
2015-09-09 18:19:19 -07:00
Chris Bednarski
a695e311dc
Replace logging and config with DriverContext, which allows us to expand the dependency injection without changing the interface
2015-09-09 18:06:23 -07:00
Chris Bednarski
1ff755f31a
Merge pull request #24 from hashicorp/qemu-driver
...
Basic Qemu driver implementation
2015-09-09 17:43:13 -07:00
Chris Bednarski
9965d28a22
Add logger to the dockerHandle created by Open()
2015-09-09 13:43:28 -07:00
Chris Bednarski
a731a84136
Cleanup based on PR feedback
...
- Add validation that Resources.MemoryMB and Resources.CPU have non-zero values
- Change log calls to use logger whenever possible
- Change log format to add colon after driver.docker
2015-09-09 13:35:10 -07:00
Clint Shryock
037ae6d6eb
driver/qemu+java: Code cleanups
2015-09-09 14:38:42 -05:00
Clint Shryock
bd0f92f977
driver/qemu: Actually use the requred Memory from the Task
2015-09-09 14:30:35 -05:00
Clint Shryock
2611523b3b
driver/qemu: Require a memory resource on the task
2015-09-09 14:28:16 -05:00
Chris Bednarski
ac277c5765
Change SIGINT to SIGTERM
2015-09-09 01:52:58 -07:00
Chris Bednarski
b70b852662
Added preliminary resource constraints for docker; CPU and Memory
2015-09-09 01:08:31 -07:00
Clint Shryock
98c53162d2
driver/qemu: add to builtin drivers
2015-09-08 16:25:36 -05:00
Clint Shryock
d2822a435d
driver/qemu: Basic lifecycle management of Qemu images
2015-09-08 16:08:49 -05:00
Chris Bednarski
4eb8fc5188
Added config to drivers; needed for docker driver to get the socket endpoint
2015-09-08 12:43:02 -07:00
Clint Shryock
c1f982a1d0
Merge branch 'master' into qemu-driver
...
* master: (66 commits)
Use a single implementation of GenerateUUID
scheduler: use update strategy for rolling updates
nomad: adding helper structs
scheduler: Adding CreateEval to Planner
nomad: worker supports create eval
nomad: guard eval creation based on parent eval
nomad: adding Eval.Create endpoint
nomad: support time wait for evaluations
nomad: adding fields to cause an evaluation to 'wait'
scheduler: support in-place allocation updates
scheduler: util method to diff task groups
nomad: helper struct func
nomad: PopUpdate should minimize plan size
nomad: adding helper to manipulate plans
scheduler: share context and stack
scheduler: allow updating the base nodes
scheduler: allow StaticIterator to update base set
scheduler: pull node shuffle into util
nomad: adding node GC
nomad: using Raft StartAsLeader to make tests faster
...
2015-09-08 09:52:40 -05:00
Chris Bednarski
bd06e4bad2
Merge pull request #19 from hashicorp/test-resources
...
Added example python and java apps for testing
2015-09-07 17:03:09 -07:00
Armon Dadgar
f1da1226c1
driver/java: Add to builtin list
2015-09-04 13:09:11 -07:00
Clint Shryock
60ad3b7517
Merge remote-tracking branch 'upstream/master' into qemu-driver
...
* upstream/master:
Removed debug logging
Added tests for docker, improved logging, and fixed a few bugs
Added initial implementation for the docker driver; tests pending
2015-09-04 14:50:47 -05:00
Chris Bednarski
aa3937f248
Added example python and java apps for testing
...
- Java example from @catsby
2015-09-04 11:13:24 -07:00
Chris Bednarski
813f905a1c
Removed debug logging
2015-09-03 21:08:14 -07:00
Chris Bednarski
c483036e16
Added tests for docker, improved logging, and fixed a few bugs
2015-09-03 21:00:16 -07:00
Clint Shryock
9cb1dc95a0
driver: Add README.md for docs
2015-09-03 17:01:43 -05:00
Chris Bednarski
b9ceb69683
Added initial implementation for the docker driver; tests pending
2015-09-03 12:35:22 -07:00
Clint Shryock
8c6128503f
driver/java: use filepath.Join instead of simple +
2015-09-03 10:25:09 -05:00
Clint Shryock
256d5c1286
driver/java: Don't error if Java isn't found; log if error parsing
2015-09-03 10:02:48 -05:00
Clint Shryock
1dd0b63cb4
clean up orphaned java processes
2015-09-03 09:49:39 -05:00
Clint Shryock
c774c67b6b
driver/java: update Fingerprint for Java driver
2015-09-02 11:41:25 -05:00
Clint Shryock
9d5c04ddbb
Spike at a Java driver, runs Java jars
2015-09-01 17:07:41 -05:00
Clint Shryock
9e79a15789
move test logger to shared file
2015-09-01 16:56:42 -05:00
Armon Dadgar
0527529f88
client: allocate alloc dir and cleanup
2015-08-30 17:35:58 -07:00
Armon Dadgar
c99fe72f54
driver/exec: basic implementation
2015-08-29 16:20:07 -07:00
Armon Dadgar
83dd313b5c
client: working on runners
2015-08-29 15:46:10 -07:00
Chris Bednarski
0b255c6af6
Pass config to fingerprints; update tests
2015-08-25 16:21:29 -07:00
Armon Dadgar
8e32075210
client: making progress
2015-08-23 16:49:48 -07:00
Armon Dadgar
3663c44dee
client: standardize naming
2015-08-23 15:36:06 -07:00
Armon Dadgar
c5553017be
client: scan for drivers
2015-08-20 16:53:43 -07:00
Armon Dadgar
a561fbb9a9
driver: skeleton package
2015-08-20 16:50:28 -07:00