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