Commit Graph

1429 Commits

Author SHA1 Message Date
Dmitry Galinsky 3ec7ebac9c Add network_aliases for docker driver 2016-11-16 11:16:07 +03:00
Alex Dadgar 3e5bfcdbc4 respond to comment 2016-11-15 16:27:07 -08:00
Alex Dadgar cb187ffce6 Fix TestRktDriver_PortsMapping and TestAgent_LoadKeyrings 2016-11-15 15:49:05 -08:00
Alex Dadgar a11d66f639 Remove todo 2016-11-10 15:20:19 -08:00
Alex Dadgar eea35626b7 Changes the relative path from joining against the alloc dir to the
task's directory.

This PR changes the behavior when given a relative host path when
mounting docker containers. Prior to this, the behavior was to mount by
joining against the alloc/ directory. This PR changes it to be against
the task/ directory.
2016-11-10 14:47:54 -08:00
Alex Dadgar e8d6227b20 Do not validate the command does not contain spaces.
This PR removes validation that the command string does not contain
spaces. This can cause issues where the path contains a folder that
includes a space ("C:\Program Files\Python35\python.exe").

Fixes #1737
2016-11-10 10:22:17 -08:00
Alex Dadgar 20a5b6fa6b Merge pull request #1965 from hashicorp/b-docker-interpolate
Interpolate all docker driver configs that are strings
2016-11-08 15:35:27 -08:00
Alex Dadgar 3b33f49cde Merge pull request #1966 from hashicorp/b-service-interpolate
Interpolate all service/check fields
2016-11-08 15:35:19 -08:00
Alex Dadgar f1689bc7f9 Rkt env var 2016-11-08 15:14:04 -08:00
Alex Dadgar ddf101d7a2 Interpolate all check related variables 2016-11-08 14:43:46 -08:00
Alex Dadgar 691e09f863 remove debug 2016-11-08 14:21:37 -08:00
Alex Dadgar 9f2c0cb0c2 Interpolate everything that is a string 2016-11-08 14:20:51 -08:00
Alex Dadgar 742e11ddb4 Fix env vars relating to secretdir 2016-11-08 12:28:43 -08:00
Alex Dadgar a9e9b61216 Merge pull request #1938 from hashicorp/b-docker-reattach
Fix Docker container creation and task runner updating
2016-11-04 17:14:40 -07:00
Michael Schurter b1a01a9a0f Add userns_mode docker config option
Fixes #1904
2016-11-04 16:53:56 -07:00
Alex Dadgar 0cbd0188b1 Move the wait result to bottom of methods 2016-11-04 14:58:55 -07:00
Alex Dadgar 4741a4b129 Create container much more robust 2016-11-04 14:39:56 -07:00
Alex Dadgar b08f4e0b97 More recoverable errors 2016-11-02 10:36:04 -07:00
Michael Schurter a0340532cb Forgot to flip a bit 2016-11-01 14:35:22 -07:00
Alex Dadgar 478eebb19b Merge pull request #1908 from hashicorp/f-vault-docs
Vault docs
2016-11-01 12:39:14 -07:00
Alex Dadgar 747c3e7e68 Agent 2016-11-01 10:39:15 -07:00
Michael Schurter b84d8212ff Add LXC docs and enable by default for lxc builds 2016-11-01 10:18:16 -07:00
Alex Dadgar 62f1b98954 Add docker test 2016-10-28 17:53:25 -07:00
Alex Dadgar 6618f7a03d Fix passing of recoverable error from docker pull 2016-10-28 17:49:46 -07:00
Diptanu Choudhury f0e2178790 Making the executor lock the logger 2016-10-28 10:57:35 -07:00
Alex Dadgar 5ddf646615 Don't delete docker images in test 2016-10-27 12:31:53 -07:00
Michael Schurter 43a670d442 Merge pull request #1877 from hashicorp/b-expand-docker-vols
Expand env vars in docker volume paths
2016-10-27 11:32:45 -07:00
Michael Schurter b5df74e92e Merge pull request #1862 from hashicorp/f-rkt-portmap
driver.rkt: support network configuration [waiting]
2016-10-27 11:05:55 -07:00
Michael Schurter d3835283ca Expand env vars in docker volume paths
Fixes #1876
2016-10-27 11:02:38 -07:00
Alex Dadgar 150b678a6b Merge pull request #1806 from hashicorp/f-docker4mac-fixes
A couple fixes to make Docker For Mac work
2016-10-27 09:29:40 -07:00
Michael Schurter f430203505 Put lxc support behind a flag
Since lxc support requires linking to a C lib at compile and runtime
I'm putting it behind a build flag to avoid forcing all nomad users to
install liblxc (lxc-dev for development).
2016-10-26 14:55:54 -07:00
Diptanu Choudhury 067fcda3fe Making the cli use TLS if the client has enabled TLS 2016-10-26 11:13:53 -07:00
Michael Schurter 98600b5943 Fix LXC driver interface impls 2016-10-26 10:06:03 -07:00
Alex Dadgar 3c4a27e72b Fix panic 2016-10-25 17:27:13 -07:00
Michael Schurter 21b8030ded Fix tests for rkt port map 2016-10-25 17:06:41 -07:00
Kenjiro Nakayama 18bbfe8325 driver.rkt: add rkt drriver port mapping test 2016-10-25 15:41:49 -07:00
Kenjiro Nakayama 56d91632ca driver.rkt: support port mapping with net and port options 2016-10-25 15:41:49 -07:00
Diptanu Choudhury 9d3cdded9a Merge pull request #1699 from hashicorp/f-lxc-driver
LXC Support
2016-10-25 15:17:44 -07:00
Diptanu Choudhury b5cc153d54 Added lxc related dependencies 2016-10-25 15:17:02 -07:00
Alex Dadgar 8e07c2750e Merge pull request #1839 from hashicorp/f-signal-constraints
Signal creates an auto-constraints
2016-10-25 11:09:33 -07:00
Michael Schurter 4f45aece4b Fingerprint rkt volume support and make periodic
Fix rkt docs and custom volume mounting
2016-10-25 09:46:49 -07:00
Michael Schurter 5d358c7eba Allow mounting alloc-dir-relative paths in docker 2016-10-25 09:46:49 -07:00
Michael Schurter 49ed6da0ad Enable rkt and docker volume mounting by default 2016-10-25 09:46:49 -07:00
Michael Schurter f075bda9b9 Make volume name unique 2016-10-25 09:46:49 -07:00
Michael Schurter 83a11fc93b Bump minimum required rkt version; update docs
Make section names match between docker and rkt
2016-10-25 09:46:49 -07:00
Michael Schurter edf657b58a Fix docker reference in rkt test 2016-10-25 09:46:49 -07:00
Michael Schurter 02ed35bd1c Add arbitrary volume support to rkt 2016-10-25 09:46:49 -07:00
Michael Schurter 473c28824c Fix standard mounts in rkt and tests 2016-10-25 09:46:49 -07:00
Alex Dadgar 03eba049ed Merge pull request #1848 from hashicorp/f-vault-error
Thread through whether DeriveToken error is recoverable or not
2016-10-24 15:01:18 -07:00
Alex Dadgar 5577e53b20 Merge pull request #1845 from hashicorp/f-remove-disk-usage-acct
Remove disk usage enforcement
2016-10-22 19:01:51 -07:00
Alex Dadgar e85a67a49a Fix signal test for docker 2016-10-22 18:32:48 -07:00
Alex Dadgar 0070178741 Thread through whether DeriveToken error is recoverable or not 2016-10-22 18:08:30 -07:00
Michael Schurter d937d3aede Fix comment form 2016-10-21 16:56:33 -07:00
Michael Schurter 285e80ac0f Remove disk usage enforcement
Many thanks to @iverberk for the original PR (#1609), but we ended up
not wanting to ship this implementation with 0.5.

We'll come back to it after 0.5 and hopefully find a way to leverage
filesystem accounting and quotas, so we can skip the expensive polling.
2016-10-21 13:55:51 -07:00
Alex Dadgar 41b5679015 Advertise signalling abilities 2016-10-19 15:06:23 -07:00
Alex Dadgar ae1ea0e5ba Actually mount the local directory 2016-10-18 15:57:12 -07:00
Alex Dadgar 36cfe6e89e Large refactor of task runner and Vault token rehandling 2016-10-18 11:24:20 -07:00
Alex Dadgar 53eeec9bc1 Merge pull request #1801 from hashicorp/f-signals
Consul-template signal change mode
2016-10-18 11:23:47 -07:00
Michael Schurter 34f7cbd10f Disable lxc by default 2016-10-13 13:22:12 -07:00
Michael Schurter 1dbb2b7164 Cleanup comments/whitespace 2016-10-13 13:05:55 -07:00
Michael Schurter 38b2020291 Mount secret dir 2016-10-13 12:45:33 -07:00
Diptanu Choudhury 4e86a5f906 throwing an error if stats line can't be converted to k/v pair 2016-10-12 17:18:58 -07:00
Diptanu Choudhury ea5d9d959a Bind mounting alloc dir into container 2016-10-12 17:18:58 -07:00
Diptanu Choudhury 6312ea3f8f Setting the network type 2016-10-12 17:18:58 -07:00
Diptanu Choudhury ce334e0e04 Adding cpu resource limits 2016-10-12 17:18:58 -07:00
Diptanu Choudhury bb2a580ef1 Implemented an LXC Driver 2016-10-12 17:18:58 -07:00
Evan Phoenix 8864a506aa Disable the syslog logging system on Docker For Mac
The syslog logging system depends on the ability for a unix socket to be
accessed by the docker daemon in the $TMPDIR of the host. This doesn't
work on Docker For Mac because the docker daemon is running inside a VM,
and while /tmp is accessible, the filesystem used to share them doesn't
support unix socket files, and thus it doesn't work.
2016-10-12 17:07:21 -07:00
Alex Dadgar eec1a154ec add plugin kill 2016-10-12 13:24:22 -07:00
Alex Dadgar 86238387e7 Send Executor Ctx separately 2016-10-12 11:35:29 -07:00
Michael Schurter ca5439eca1 Add NOMAD_JOB_NAME to environment 2016-10-11 11:20:42 -07:00
Alex Dadgar bc35eaee21 Task runner sends signals 2016-10-10 15:09:00 -07:00
Alex Dadgar 00a1234c55 Executor + Java/Raw Exec/Exec 2016-10-10 11:47:04 -07:00
Alex Dadgar 5b01b1be1b Rkt 2016-10-10 11:47:04 -07:00
Alex Dadgar 280af8f4d1 Docker + Qemu 2016-10-10 11:47:04 -07:00
Michael Schurter f0d04bd798 Add comment and fix log line code style 2016-10-07 11:58:21 -07:00
Michael Schurter 523dbfcc81 Remove VolumesFrom feature
Since containers are named with alloc ids it's difficult to use safely.
Not to mention task scheduling ordering issues could break it as well.
2016-10-07 11:58:13 -07:00
Michael Schurter f777faba00 Add comments to config key constants 2016-10-03 16:04:33 -07:00
Michael Schurter 0d66b8aef0 Only launch syslog server if container uses syslog 2016-10-03 15:22:10 -07:00
Michael Schurter 44219cc083 Put docker volume support behind conf flag
Also add tests and fix bug with logging driver configuration.
2016-10-03 15:02:50 -07:00
Jan-Hendrik Lendholt a26a501120 Fixed a bug when giving in another logging driver than syslog.
Before this commit, if the Logging config did not contain a logging option "syslog-address", it would definitely insert this option.
If then, you decide to take another logdriver than syslog, docker would fail because it received a wrong log option for the selected driver.
Now, nomad will only insert the syslog address in a hard way if there are no logging options at all - this way it keeps the default nomad settings.
2016-10-03 15:02:50 -07:00
Jan-Hendrik Lendholt 6c7cbe5fcb Added support to mount host folders into container. For example if you don't want to bake certificates into the container, you can mount them into the directory directly.
Furthermore, I added support for volumes-from.

Currently, there is no support to move the data from one container to another, hence: If a container spawns on another host, it is very likely, that the data will not be found.
2016-10-03 15:02:49 -07:00
Jan-Hendrik Lendholt ac5cde4641 Added logging options support for docker driver 2016-10-03 15:02:49 -07:00
Alex Dadgar 320b89d57a Constant time space tracking of pids 2016-09-27 16:57:26 -07:00
Alex Dadgar b28e817b1d Test fix 2016-09-26 15:35:59 -07:00
Alex Dadgar 12de69a66f Struct and parse 2016-09-21 11:31:09 -07:00
Alex Dadgar 50efdb00e9 Merge pull request #1713 from hashicorp/f-alloc-runner-vault
Vault integration in client
2016-09-20 16:15:55 -07:00
Alex Dadgar 0fefaef008 Alloc runner tests 2016-09-15 17:24:09 -07:00
Alex Dadgar 6702a29071 Vault token threaded 2016-09-14 13:30:01 -07:00
Diptanu Choudhury 0f77d81f7d Merge pull request #1683 from mwieczorek/enable-syslog-for-windows
Enable syslog for windows
2016-09-04 17:07:25 -07:00
Michal Wieczorek 94071fc294 Enable syslog server and universal collector for windows 2016-09-05 00:26:36 +02:00
Alex Dadgar eef786dd9d Secret dir materialized in alloc/task directory 2016-09-02 12:44:05 -07:00
Alex Dadgar 2c8dd8bbd3 Revert "Introduce a Secret/ directory" 2016-09-01 17:23:15 -07:00
Alex Dadgar 1ed454dd60 Merge pull request #1671 from hashicorp/f-secret-dir2
Introduce a Secret/ directory
2016-09-01 09:56:17 -07:00
Alex Dadgar 5d3b47e648 Address comments and reserve 2016-08-31 18:11:02 -07:00
Alex Dadgar 0626eb9619 environment variables 2016-08-31 13:56:11 -07:00
Alex Dadgar d59e14eed4 Interface + tests 2016-08-30 21:40:32 -07:00
Michael Schurter 32626ac608 Remove unused embedded lock on ExecContext 2016-08-26 11:58:03 -07:00
Diptanu Choudhury e9b27a528c Fixed the raw_exec fingerprint test 2016-08-24 13:38:43 -05:00
Diptanu Choudhury 10e10b2fe1 fixed the qemu fingerprinter test 2016-08-24 12:25:02 -05:00
Diptanu Choudhury 9309247f9d Fixed a java test 2016-08-23 16:51:09 -05:00
Diptanu Choudhury 05fe72e89e fixed the exec fingerprinter test 2016-08-23 16:40:56 -05:00
Diptanu Choudhury 588a4802c1 removing driver_mock 2016-08-23 16:05:03 -05:00
Alex Dadgar 0f3ec9c759 Fix TestDockerDriver_Fingerprint 2016-08-23 10:39:40 -07:00
Alex Dadgar 1da8566322 Merge pull request #1580 from hashicorp/f-disk-usage-monitoring
Monitor and enforce shared allocation directory disk usage
2016-08-23 09:49:53 -07:00
Diptanu Choudhury 1e1eef56a1 Putting the mock driver behind a build flag 2016-08-22 15:02:28 -05:00
Diptanu Choudhury 4ca623bcfe blocking chained allocations until previous allocation hasn't terminated 2016-08-22 11:34:24 -05:00
Kenjiro Nakayama b06c6d9311 driver.docker: tiny: debug messages output task name instead of image name 2016-08-21 19:51:32 +09:00
Ivo Verberk 2a17895a83 Disk resource monitoring and enforcement 2016-08-18 07:59:03 +02:00
Diptanu Choudhury dc0e395982 re-using copyimage 2016-08-17 15:25:03 -07:00
Diptanu Choudhury 0d7cd53c63 Fixed docker tests 2016-08-17 15:25:03 -07:00
Diptanu Choudhury ab7f8847c1 changing error statement 2016-08-17 13:48:31 -07:00
Diptanu Choudhury 2968ce9399 Fixed the docker script check 2016-08-17 13:23:48 -07:00
Alex Dadgar 3b9188fcf0 Merge pull request #1598 from nak3/rkt-fix5
driver.rkt: Remove unnecessary job validation
2016-08-16 15:12:45 -07:00
Kenjiro Nakayama c97beb8deb driver.rkt: Remove unnecessary job validation 2016-08-16 23:33:34 +09:00
ramukima 4f18963a97 go fmt performed code when copied from another directory got messed up again ? Ok, ran go fmt again 2016-08-16 09:20:13 -04:00
ramukima 17b902f20f issue-1588 : Allow extra driver config args as a passthrough for qemu executable from a task specification 2016-08-15 23:36:13 -04:00
Alex Dadgar 64b86bed0d Merge pull request #1581 from nak3/fix-rkt2
Set host environment variables to taskEnv of rkt driver
2016-08-15 10:31:10 -07:00
Alex Dadgar a2b603bd82 Merge pull request #1586 from nak3/rkt-fix3
tiny: Catch error returned from SyncServices in rkt driver
2016-08-15 10:29:28 -07:00
Kenjiro Nakayama d0ccdacd08 rkt.driver: Fix wrong MB calculation 2016-08-14 14:27:42 +09:00
Kenjiro Nakayama 906526fbe0 tiny: Catch error returned from SyncServices in rkt driver 2016-08-14 13:11:17 +09:00
Kenjiro Nakayama 0efc0e0231 Set host environment variables to taskEnv of rkt driver 2016-08-14 00:42:53 +09:00
Diptanu Choudhury 8c8d00dd5b Merge pull request #1572 from hashicorp/fix-docker-test
Fixed docker tests
2016-08-12 13:04:33 -07:00
Diptanu Choudhury f3420c65e3 Updated the busybox images 2016-08-12 11:39:58 -07:00
Diptanu Choudhury dd7e69006e Not running tests parallal 2016-08-11 21:53:27 -07:00
Alex Dadgar b34d65f1a5 Update test.sh 2016-08-11 21:35:50 -07:00
Diptanu Choudhury 839ecd1df6 Fixed docker tests 2016-08-11 19:28:41 -07:00
Alex Dadgar b3dca54a1a Wrap file rotator tests in wait for 2016-08-11 19:23:03 -07:00
Diptanu Choudhury b71f687f62 Merge pull request #1413 from hashicorp/b-tests
Fix flaky tests
2016-08-11 18:15:29 -07:00
Diptanu Choudhury 9a75052d2c Merge pull request #1518 from pubnub/feature/chroot-map-rebase
Add config field to specify chroot mapping for exec driver
2016-08-10 17:00:03 -07:00
Kenjiro Nakayama 6ec6c27cb4 Update debug option from string to bool 2016-08-09 16:51:00 +09:00
Kenjiro Nakayama 11a8a7218e Add debug option to rkt task config 2016-08-09 09:01:05 +09:00
Jay Oster 09113ffbc8 Fix Linux executor isolation test
- Properly expects the hard-coded mounts (alloc, dev, and proc) and hardcoded local directories (local and tmp)
- Also verifies that etc contains only the requested paths
2016-08-08 14:04:09 -07:00
Diptanu Choudhury fb178a1f5f Merge pull request #1477 from nak3/add-syslog_server-test
Add Syslog server start shutdown test
2016-08-05 12:01:24 -07:00
Alex Dadgar ddd8adce96 changelog + use driver config 2016-08-05 10:55:20 -07:00
Alex Dadgar f8e4bc73c9 Merge pull request #1493 from nak3/rkt-fix1
Pass command and trust_prefix to the validation of rkt task configuration
2016-08-05 10:52:02 -07:00
Alex Dadgar 096956257d changelog 2016-08-05 10:47:44 -07:00
Kenjiro Nakayama fc1195b7ea Add Syslog server start shutdown test 2016-08-06 02:01:33 +09:00
Michal Wieczorek b688261a99 Set windows containers default network mode to 'nat' 2016-08-05 06:01:26 +02:00
Jay Oster 2ae059b41d Address review comments
- Simplify map length check in Linux Executor
- Added a `chroot_env` test for config parser
- Moved `ChrootEnv` field from ExecutorCommand to ExecutorContext
- Added a test for `chroot_env` functionality
2016-08-04 15:33:06 -07:00
Diptanu Choudhury 531b619ce4 Merge pull request #1475 from mwieczorek/windows-hostIp-portBindings
Empty host ip for windows containers port bindings
2016-08-04 13:30:43 -07:00
Alex Dadgar 1fe4158097 Merge pull request #1519 from vrenjith/master
Remove docker volumes while removing container
2016-08-04 12:54:00 -07:00
Jay Oster 24e8f752ab Add chroot_env to Java driver (which uses the exec driver internally) 2016-08-04 11:15:35 -07:00
Kenjiro Nakayama cd12645e4c Add TestRktTaskValidate 2016-08-04 23:15:13 +09:00
Kenjiro Nakayama bf27963903 Add TestRktTrustPrefix 2016-08-04 17:26:10 +09:00
Kenjiro Nakayama 1176fd123e Pass command and trust_prefix to the validation of rkt task configuration 2016-08-04 17:24:56 +09:00
vrenjith 41cf7cc623 Update docker.go
Remove container volumes
2016-08-04 11:43:50 +05:30
vrenjith 4e603e1306 Update checks_test.go
Remove docker volumes while exiting container
2016-08-04 11:42:47 +05:30
Jay Oster 7df692226a Add config field to specify chroot mapping for exec driver
- Same format as used by the internal chroot mapping
- Map: source_path -> dest_path
- Example HCL:

client {
  chroot_env {
    "/etc" = "/etc"
    "/lib" = "/lib"
    "/opt/projects/foo/bin" = "/usr/bin"
  }
}
2016-08-03 17:17:17 -07:00
Mathias Lafeldt 0727db4ca0
Test configuration of Docker working directory 2016-08-03 16:35:49 +02:00
Mathias Lafeldt d91f7dbdf8
Docker driver: allow to configure working directory 2016-08-03 16:18:15 +02:00
Alex Dadgar 47f5c8f523 use priviledge of the config 2016-08-02 16:10:15 -07:00
Alex Dadgar cec6d8a1eb remove gating of ipc, user ns and pidmode based on hosts priviledge mode config 2016-08-02 16:02:34 -07:00
Alex Dadgar 2999c12ef1 disable swap 2016-07-28 12:17:00 -07:00
Michal Wieczorek 4b82b6c3d4 Empty host ip for windows containers port bindings 2016-07-28 00:00:57 +02:00
Diptanu Choudhury 22af229cef Merge pull request #1321 from mwieczorek/f-windows-binds
Volume binds for windows containers
2016-07-18 10:20:44 -06:00
Alex Dadgar 807bf3cf6c tests wait for the container to start 2016-07-12 11:36:06 -06:00
Alex Dadgar e1d68f3e9b Docker host network test 2016-07-12 10:59:34 -06:00
Diptanu Choudhury ed3be34105 Introduced an env var for rkt tests 2016-07-11 15:48:16 -06:00
Diptanu Choudhury 4e0b621ffa Skipping travis tests and not installing rkt on travis 2016-07-11 15:10:09 -06:00
Sean Chittenden a9b3f5e552
Alpha-sort the build platforms 2016-07-11 12:23:46 -07:00
Sean Chittenden 267198742f
Merge branch 'master' into f-resource-isolation-fingerprinter 2016-07-11 12:23:09 -07:00
Diptanu Choudhury e2909db9ef Merge pull request #1388 from novilabs/support-docker-syslog-unixformat-and-defaultformat
Support docker syslog unixformat and defaultformat
2016-07-11 11:17:30 -07:00
Alex Dadgar f11b1ce079 Get windows to build 2016-07-11 11:52:41 -06:00
Sean Chittenden 9966169596
Merge branch 'f-resource-isolation-cleanup' into f-resource-isolation-fingerprinter 2016-07-11 00:10:21 -07:00
Sean Chittenden d20c5fc327 Merge pull request #1402 from hashicorp/f-resource-isolation-cleanup
Resource isolation cleanup
2016-07-11 02:09:35 -05:00
Sean Chittenden be272168c7
Rename resourceContainer{,Context} and resCon{,Ctx}. 2016-07-11 00:02:55 -07:00
Sean Chittenden 1c14e01ac0
Add a comment describing IsolationConfig 2016-07-10 23:45:44 -07:00
Sean Chittenden 2983bd6fce
Fix test for non-Linux platforms.
The following tests now check a whitelist for whether or not their
driver is present or not, or if the OS is supported or not.

* `TestAllocDir_MountSharedAlloc`
* `TestClient_Drivers_InWhitelist` (`exec` driver)
* `TestClient_Drivers` (`exec` driver)
* `TestJavaDriver_Fingerprint` (`java` driver)
2016-07-10 15:19:49 -07:00
Sean Chittenden d4fe69ddf9
Update comments and pushdown a lock into the resource container 2016-07-10 00:12:59 -07:00
Sean Chittenden fc9cd8d4af
Push down the Linux-specific bits into resourceContainer 2016-07-10 00:06:53 -07:00
Sean Chittenden 6fc269d2a6
Move unit tests around into per-platform where appropriate. 2016-07-09 23:56:31 -07:00
Sean Chittenden a5dc6c2da9
Push the Client's cleanup of Cgroups down 2016-07-09 23:45:33 -07:00
Sean Chittenden 5dbc0bf382
Rename resourceContainer.cleanup() to executorCleanup()
Not to be confused with the imminent ClientCleanup().
2016-07-09 23:25:33 -07:00
Sean Chittenden 5f8f0a50ac
Begin cgroup pushdown into platform specific files 2016-07-09 23:01:14 -07:00
Diptanu Choudhury e5310b76a6 Merge pull request #1399 from hashicorp/b-exec-cleanup
WIP: Cleanup exec driver
2016-07-09 00:08:43 -07:00
Sean Chittenden 7530b27014 Move all non-Linux Fingerprinter items to the default exec driver 2016-07-08 18:35:46 -07:00
Diptanu Choudhury 5d61fa01f1 Fixed tests 2016-07-08 18:27:51 -07:00
Diptanu Choudhury 3c4002c48b Fixed the client tests 2016-07-08 17:49:58 -07:00
Diptanu Choudhury 1784d98182 Fixed the host port environment variable 2016-07-08 15:37:44 -07:00
Cameron Davison 921a6c889c remove the expected leading space, after the colon in syslog 2016-07-06 11:08:24 -05:00
Cameron Davison 07a9e15560 get into the hour minute second part of the time before looking for spaces, and then looking for the : seperator 2016-07-06 11:08:24 -05:00
Wojciech Bederski a73422b4ff Fix docker driver lockup during nomad boot
Unit mismatch caused docker driver to wait almost indefinitely during boot 
(when one or more containers were a bit uncooperative during StopContainer())
This should fix problems described in  #1202
2016-06-28 14:26:47 +02:00
Diptanu Choudhury 0a10873aa6 Merge pull request #1335 from hashicorp/f-set-docker-timeout
Setting a timeout in the docker client
2016-06-21 17:00:14 -07:00
Diptanu Choudhury 2837d3395d Setting a timeout in the docker client 2016-06-21 16:58:21 -07:00
Diptanu Choudhury 1d5c5b18f3 Making SSL default 2016-06-21 16:41:14 -07:00
Alex Dadgar 661dc200f3 Make line copy to avoid being overriden by subsequent scans 2016-06-20 13:14:43 -07:00
Michal Wieczorek 67a04bb1cc Volume binds for windows containers 2016-06-20 21:46:33 +02:00
Alex Dadgar c9f7467ccb Driver tests use client default config 2016-06-17 14:24:49 -07:00
Sean Chittenden 7b9961f09b
Initialize the stats helpers before accessing them for the first time 2016-06-17 13:23:30 -07:00
Alex Dadgar 27c6398639 debug message when stopping container 2016-06-17 11:52:44 -07:00
Diptanu Choudhury 266c417ac8 Changed the client options for docker volume selinux labels 2016-06-16 21:41:02 +01:00
Diptanu Choudhury fa216199ce Added documentation 2016-06-15 02:42:15 +02:00
Diptanu Choudhury e08083acfe Added a client options for setting selinux options 2016-06-15 02:33:09 +02:00
Alex Dadgar 4b04e503f3 address comments 2016-06-13 17:32:18 -07:00
Alex Dadgar 8bbf4a55e5 Fix IDs and domain scoping 2016-06-13 16:30:58 -07:00
Diptanu Choudhury d019d8ef8e implemented reconciliation of unwanted services 2016-06-13 14:52:26 +02:00
Alex Dadgar 232654cdee register checks 2016-06-12 21:28:56 -07:00
Alex Dadgar a82c2bb058 Do not reconcile in client and cleanup executor a bit 2016-06-12 18:22:07 -07:00
Alex Dadgar 8e231fa382 Rename ConsulService back to Service 2016-06-12 16:36:49 -07:00
Alex Dadgar e931b42473 unify cli output 2016-06-12 13:16:07 -07:00
Alex Dadgar 6ef4bfd6bf skip docker test if no docker found 2016-06-12 11:28:43 -07:00
Alex Dadgar 2628827b7c Merge pull request #1262 from hashicorp/remove-artifact-check
Removing artifact check for java and qemu drivers
2016-06-12 11:21:18 -07:00
Alex Dadgar c4a819528a Merge pull request #1260 from hashicorp/f-alloc-stats-struct
Allocation resources returned in a struct
2016-06-12 11:18:57 -07:00
Diptanu Choudhury 34f85baab0 Fix the calculation of total ticks for docker and exec 2016-06-12 18:08:35 +02:00
Diptanu Choudhury beb362e202 Setting a flag to indicate whether fs isolation is indeed happening 2016-06-12 15:43:24 +02:00
Diptanu Choudhury 641cf50682 Not converting the abs path relative to task dir for drivers which enforce FS isolation only in linux 2016-06-12 13:54:30 +02:00
Alex Dadgar e952540f6f Allocation resources returned in a struct 2016-06-11 21:04:10 -07:00
Sean Chittenden 2f036231e5 Merge pull request #1201 from hashicorp/f-dyn-server-list
Dynamic Server Lists/Client Bootstrapping via consul.
2016-06-11 18:58:25 -04:00
Sean Chittenden 445783889b
Remove default values and use nil for the executor. Much better. 2016-06-11 17:52:09 -04:00
Diptanu Choudhury 19f4adbcf1 Using a different client for collecting stats and waiting on containers 2016-06-11 20:37:29 +02:00
Diptanu Choudhury 7fb507e810 Moving the clkspeed code to helper 2016-06-11 17:31:49 +02:00
Sean Chittenden f891fa0ec8
Perform a nil-check for Executor's consulServices.
Executors can `Shutdown()` before calling `SyncServices()`.
2016-06-10 23:43:54 -04:00
Diptanu Choudhury 59540c3e93 Extracted a method for getting clock speed 2016-06-11 02:07:28 +02:00
Diptanu Choudhury f94f89b6d7 Pruning out pids which are no longer present 2016-06-11 01:40:52 +02:00
Diptanu Choudhury 0a9a3918d6 Not reset-ing the list of pids if they don't change 2016-06-11 01:19:50 +02:00
Diptanu Choudhury c38a6fb3c5 Implementing the total ticks per task for the docker driver 2016-06-10 23:33:25 +02:00
Diptanu Choudhury 2d3798b076 Calculating the cpu ticks in nomad client 2016-06-10 22:22:32 +02:00
Sean Chittenden d99467ef5e
Always create a consul.Syncer. Use a default Consul Config if necessary. 2016-06-10 15:55:27 -04:00
Sean Chittenden f6a0459ae5
Always create a consul.Syncer. Use a default Consul Config if necessary. 2016-06-10 15:55:27 -04:00
Sean Chittenden cc6e8792e0
Create a consulContext using a client's consul config.
This is wrong and should be the Agent's Consul Config.  This is a
step in the right direction, so committing to mark the necessary
future change.
2016-06-10 15:54:39 -04:00
Sean Chittenden 9a223936bb
Generate and sync Consul ServiceIDs consistently 2016-06-10 15:54:39 -04:00
Sean Chittenden 3892a0433e
Move the start of the UniversalExecutor's consulSyncer to initialize once
This should be handled via a sync.Once primative, but I don't want to
unpack that atm.
2016-06-10 15:54:39 -04:00
Sean Chittenden 7956eb0c80
Rename structs.Task's `Service` attribute to `ConsulService` 2016-06-10 15:54:39 -04:00
Sean Chittenden 8c813630e6
Move package client/consul/sync to command/agent/consul.
This has been done to allow the Server and Client to reuse the same
Syncer because the Agent may be running Client, Server, or both
simultaneously and we only want one Syncer object alive in the agent.
2016-06-10 15:54:39 -04:00
Sean Chittenden d6ef97911b
Rename Syncer.SetServiceIdentifier to SetServiceRegPrefix()
This attribute isn't actually an identifier because it can represent
a collection of services.  Rename `serviceIdentifier` to
`serviceRegPrefix which more accurately conveys the intention of this
Syncer attribute.

While here, also rename `SetServiceIdentifier()` to `SetServiceRegPrefix()`
and `GenerateServiceIdentifier()` to `GenerateServicePrefix()`.
2016-06-10 15:54:39 -04:00
Sean Chittenden 6b126ce488
Change the API signature of Syncer.SyncServices().
SyncServices() immediately attempts to sync whatever information
the process has with Consul.  Previously this method would take an
argument of the exclusive list of services that should exist,
however this is not condusive to having a Nomad Client and Nomad
Server share the same consul.Syncer.
2016-06-10 15:54:39 -04:00
Sean Chittenden 555f4fe135
Change client/consul.NewSyncer() to accept a shutdown channel
In addition to the API changing, consul.Syncer can now be signaled
to shutdown via the Shutdown() method, which will call the Run()'ing
sync task to exit gracefully.
2016-06-10 15:54:39 -04:00
Sean Chittenden 82d537fbd9
Update the `nomad_server_service` default from `nomad-server` to just `nomad`. 2016-06-10 15:50:11 -04:00
Sean Chittenden 10d1b6ba9b
Reduce all forms of ConsulConfig down to a single struct
nomad/structs/config/consul.go's ConsulConfig is the canonical definition
for all things Consul now.
2016-06-10 15:50:11 -04:00
Sean Chittenden 0dbd16aa5d
Rebalance Nomad client RPCs among different Nomad servers.
Implement client/rpc_proxy.RpcProxy.
2016-06-10 15:50:11 -04:00
Sean Chittenden a13cbe73c3
Rename ConsulConfig to ConsulAgentConfig 2016-06-10 15:50:11 -04:00
Sean Chittenden d1442dc317
Reduce all forms of ConsulConfig down to a single struct
nomad/structs/config/consul.go's ConsulConfig is the canonical definition
for all things Consul now.
2016-06-10 15:50:11 -04:00
Sean Chittenden 17116fc5a7
Rebalance Nomad client RPCs among different Nomad servers.
Implement client/rpc_proxy.RpcProxy.
2016-06-10 15:50:11 -04:00
Sean Chittenden 88f3422d7c
Rename NewConsulService to NewSyncer 2016-06-10 15:49:37 -04:00
Sean Chittenden b9789e0cf7
Rename client/consul/sync.PeriodicSync to Run 2016-06-10 15:49:37 -04:00
Sean Chittenden 768aab015d
Rename client/consul/sync.ConsulService to client/consul/sync.Syncer
Syncer describes the responsibility and actions of the type.
2016-06-10 15:49:37 -04:00
Sean Chittenden bfa4711df5
Rename ConsulConfig to ConsulAgentConfig 2016-06-10 15:48:36 -04:00
Sean Chittenden e97652bbfb
Rename consul.ConsulConfig to consul.AgentConfig
There were two `ConsulConfig` structs running around, one of them
needed to go away.  Rely on the package's path to provide context
for the type of AgentConfig.
2016-06-10 15:48:36 -04:00
Alex Dadgar 26c9110e82 fix types 2016-06-10 11:52:15 -07:00
Alex Dadgar a3d41f2312 use time.Second instead of our own const 2016-06-10 11:38:59 -07:00
Alex Dadgar 3cf74e7fd8 Alloc-status only shows measured statistics and fixes to CPU calculations 2016-06-10 10:38:29 -07:00
Diptanu Choudhury 287e0eff22 Fixed merge conflicts 2016-06-10 04:47:34 +01:00
Diptanu Choudhury a69307cff2 Using named variables 2016-06-10 04:45:16 +01:00
Diptanu Choudhury 9056be6d86 Fixed calculation of cpu usage percent in user and sys mode for pids 2016-06-10 04:06:32 +01:00
Alex Dadgar 98d7547014 Annotate what is measured 2016-06-09 19:45:41 -07:00
Diptanu Choudhury 4027ff56f0 Returning an error if stats collection hasn't started yet for a new docker container 2016-06-06 18:52:54 -07:00
Alex Dadgar 4e15611339 fix wait result being nil and some panics in the cli 2016-05-31 23:09:05 +00:00
Diptanu Choudhury f95b1d00c3 Renamed error message in alloc endpoint 2016-05-28 20:03:52 -07:00
Diptanu Choudhury 11d1dd113b Added a test for docker 2016-05-28 19:59:20 -07:00
Diptanu Choudhury c0dc6cfbf2 Changing the api of the stats endpoints 2016-05-28 19:59:20 -07:00
Diptanu Choudhury a0c279f3b2 comments 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 4c85f02072 Stopping the metrics collector timers using defer and starting to collect host stats right away 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 40e60ce920 Making the call to Stats on a go-routine 2016-05-28 19:59:20 -07:00
Diptanu Choudhury c8f5527158 Added a test to validate we are collecting stats 2016-05-28 19:59:20 -07:00
Diptanu Choudhury a64062d6a6 Fixed the compilation on linux 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 2ff43788a0 simplified the stats method in basic executor 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 097bab52a9 Fixed the logic of scanpids 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 75c7f84490 Simplified the docker stats collection 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 98016ec066 Incorporated review comments for executor 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 313c61b9db Added pidstats in task resource usage struct 2016-05-28 19:59:20 -07:00
Diptanu Choudhury cfd3016747 Renamed CpuUsage to CpuStats 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 77357ccf80 Added a test for calculating cpu stats 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 84cd943c48 Stopping stats collection of tasks which has been destroyed 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 193bbc10f8 Fixed the percentage calculation for cgroups 2016-05-28 19:59:20 -07:00
Diptanu Choudhury 7744a41358 Added some docs 2016-05-28 19:59:03 -07:00
Diptanu Choudhury b884253d39 Added locks to RingBuf 2016-05-28 19:59:03 -07:00
Diptanu Choudhury 22c3f6fee0 Implemented nomad cpu percentage calculator 2016-05-28 19:59:03 -07:00
Diptanu Choudhury e37a108b4c Implemented cpu stats 2016-05-28 19:51:22 -07:00
Diptanu Choudhury 1789dbd1ff Fixed implementation of the docker stats 2016-05-28 19:51:22 -07:00
Diptanu Choudhury 9790516a22 Added the PidStats method on the executor 2016-05-28 19:42:34 -07:00
Diptanu Choudhury 63166d0e46 Adding a query param to return time series of stats 2016-05-28 19:42:34 -07:00
Diptanu Choudhury c347b27e6a Implemented stats for raw_exec 2016-05-28 19:42:34 -07:00
Diptanu Choudhury 91d2cf319e Added some documentation 2016-05-28 19:42:34 -07:00
Diptanu Choudhury f3d0aecafe Reporting time series of stats 2016-05-28 19:42:34 -07:00
Diptanu Choudhury 13825f434e Added the nomad stats command 2016-05-28 19:42:34 -07:00
Diptanu Choudhury 2b86bb3396 Added cpu stats 2016-05-28 19:42:34 -07:00
Diptanu Choudhury 0fb0e0237f Added a client API to display resource usage of an allocation 2016-05-28 19:42:34 -07:00
Diptanu Choudhury 6c1b60ff07 Add the Stats api to driverhandle 2016-05-28 19:42:34 -07:00
Daniel Kerwin df7f5175a8 Add support for shm_size to docker driver. Required update of go-dockerclient
to more recent version (ba4298ecf4cfa216f1cce2befbf653359f62c722).
2016-05-27 12:30:04 +02:00
Diptanu Choudhury 76509eb230 Fixed docker test 2016-05-22 02:49:33 -07:00
Sean Chittenden dc28ab0cb5
Speling police 2016-05-15 09:41:34 -07:00
Diptanu Choudhury 2e2e2e500e Using a helper method to create service identifiers 2016-05-14 00:43:25 -07:00
Diptanu Choudhury 347cb890d2 Removed allocID and task name from consul service 2016-05-11 16:26:41 -07:00
Diptanu Choudhury 2f8a3532ad Refactored the signature of NewConsulService 2016-05-11 15:22:58 -07:00
Sean Chittenden cb9b4eca83 Merge pull request #1156 from hashicorp/f-x-sys-unix
Use x/sys/unix vs syscall package where appropriate
2016-05-09 11:56:00 -07:00
Sean Chittenden d86a6a029a
Rename the windows exec driver file to be the default exec driver.
No functional difference in practice, but results in a more clean build.
2016-05-09 11:32:05 -07:00
capone212 cc246b30d9 Added java 2016-05-09 17:27:01 +03:00
capone212 503f552477 Reverted blank line 2016-05-09 17:23:38 +03:00
capone212 99e7581742 Fixed CR defect 2016-05-09 17:22:01 +03:00
capone212 875df91e0b Added consul script check support for raw_exec driver 2016-05-09 13:35:19 +03:00
Sean Chittenden d9ba6d8bff
Re-sort functions back to the same ordering as `master` 2016-05-08 11:46:20 -07:00
Sean Chittenden b249aaf8bb
Remove stray debugging fmt.Printf 2016-05-08 11:43:43 -07:00
Sean Chittenden 93bcc30a9c Revert making UniversalExecutor.wait() platform specific 2016-05-08 11:21:34 -07:00
Sean Chittenden 2cba09843c Revert making UniversalExecutor.wait() platform specific 2016-05-08 11:17:27 -07:00
Sean Chittenden e8fbfc7976 Revert making UniversalExecutor.wait() platform specific 2016-05-08 00:13:28 -07:00
Sean Chittenden f2b6303d49 Catch up with error message drift in docker 2016-05-07 15:46:44 -07:00
Sean Chittenden d1268cfb76 Break out the windows vs UNIX Fingerprinter
cgroup's are applicable to Windows and will require a more specific abstraction.  Stub out the difference.  The *NIX exec drivers will likely be broken out over time (e.g. *BSD and Solaris).
2016-05-07 12:37:15 -07:00
Sean Chittenden 19c64fb94c Fix executor builds on Windows 2016-05-07 12:07:27 -07:00
Sean Chittenden d10623aaea Implement a Windows-specific UniversalExecutor `wait()` 2016-05-07 12:00:44 -07:00
Sean Chittenden f79b872ed2 Windows needs a stub chroot command 2016-05-07 11:59:55 -07:00
Sean Chittenden a78a9b3531 Build checks per-platform 2016-05-07 11:18:13 -07:00
Sean Chittenden 09f7d5e595 Prefer `golang.org/x/sys/unix` where appropriate
Favor the `unix` package on *NIX platforms vs the now frozen `syscall` package.
2016-05-07 11:01:45 -07:00
Sean Chittenden 1314227863 Explicitly enumaret the build targets in _unix
`!windows` was being used as the synonym for `darwin dragonfly freebsd linux netbsd openbsd solaris`.  While I don't imagine `android` will be a prime target for Nomad in the near term, favor explicit build targets.

List of build targets generated by Go 1.7's dist command: `go tool dist list | sort | cut -d '/' -f 1 | sort | uniq`
2016-05-07 10:42:01 -07:00
Sean Chittenden cfd76aaf15 Rename from posix to unix to parallel x/sys/unix
Use the `_unix` file suffix to denote *NIX-like semantics in order to parallel the designation given by the package `golang.org/x/sys/unix`.
2016-05-07 10:33:43 -07:00
Diptanu Choudhury 3a6ee08a32 Added some docs 2016-05-05 11:52:22 -07:00
Diptanu Choudhury 9a8ad773b3 Added logs to indicate when checks timeout 2016-05-05 10:01:38 -07:00
Ivo Verberk e25a2d2f4f Docker labels configuration should be of type "array" in schema 2016-04-25 23:58:31 +02:00
Alex Dadgar ae0a54eb70 Timeout docker connections after 1 minute 2016-04-22 11:11:38 -07:00
Alex Dadgar 3ce32f1559 Fix splitting on equals to return maximum of two strings 2016-04-21 17:08:47 -07:00
Alex Dadgar c66370bf40 Add debug message on Wait() error 2016-04-19 15:54:21 -07:00
Alex Dadgar ca94d25cb4 Freeze the cgroup and cleanup around Shutdown 2016-04-19 13:48:02 -07:00
Alex Dadgar 736ef76cc1 Put the executor into the cgroup to avoid a fork race 2016-04-18 17:59:08 -07:00
Alex Dadgar ebdc873e47 protect writing to closed channel 2016-04-18 11:46:57 -07:00
Alex Dadgar dba8712b45 remove systemd cgroup manager 2016-04-15 14:55:30 -07:00
Alex Dadgar 8256396f1e Add IP and PORT environment variables 2016-04-15 11:01:32 -07:00
Alex Dadgar 9ccacaa9e5 Remove unused field 2016-04-14 11:05:20 -07:00
Alex Dadgar 78adfa8ed6 changelog + docker GC cleanup 2016-04-14 10:52:38 -07:00
Alex Dadgar c4406f2b31 Merge pull request #1071 from hashicorp/b-docker-fix-gc
GC Docker containers and images after the container exits
2016-04-14 10:26:37 -07:00
Diptanu Choudhury 081852d3cd Modified the test to wait for 3 seconds before inspecting containers 2016-04-14 06:43:37 +05:30
Diptanu Choudhury bab7d8c9ce Fixing the API call of stopping container 2016-04-12 02:29:28 -07:00
Diptanu Choudhury e599ab795c Added a test to ensure that the docker driver is removing containers after container exits successfully 2016-04-12 01:00:14 -04:00
Diptanu Choudhury 02f16e0ea5 Removing container and image once the wait from docker api returns 2016-04-12 00:52:45 -04:00
Ivo Verberk 11f4e647b2 Add interactive option to the Docker driver configuration schema 2016-04-10 12:20:01 +02:00
Ivo Verberk 6d0191a485 Add missing comments on exported Validate function 2016-04-10 01:15:09 +02:00
Ivo Verberk 13a2d62bfa Implement configuration validation for all task drivers 2016-04-10 00:42:57 +02:00
Ivo Verberk 542603dec6 Add helper to validate raw configuration data 2016-04-10 00:42:43 +02:00
Paul Hinze 044978783f client/docker: add `interactive` option
Equivalent to `docker run --interactive` - keeps STDIN open.

Also adds docs for both `tty` and `interactive` docker config.
2016-04-08 12:51:07 -05:00
Diptanu Choudhury 47e2c6bbfc Fixing race issues in the log rotator 2016-04-06 18:58:34 -07:00
Diptanu Choudhury 58f13db9f2 Merge branch 'master' of github.com:hashicorp/nomad 2016-04-06 13:38:51 -07:00
Diptanu Choudhury f552159a34 Logging errors in the file rotator 2016-04-06 12:06:49 -07:00
Diptanu Choudhury 77fbf85518 Added the tty flag to the driverconfig 2016-04-06 09:54:45 -07:00
Diptanu Choudhury bfcb5015a1 Adding a test to check whether constraints are applied and cgroups are removed 2016-04-02 12:39:34 -07:00
Diptanu Choudhury 34d9e8aa8e Setting the cg path after application of pid 2016-04-02 12:37:19 -07:00
Diptanu Choudhury 6778f29513 Setting the cgroup config after applying pid 2016-04-02 12:37:19 -07:00
Diptanu Choudhury d9afcc1293 Using the paths of cgroups to reconstruct the manager 2016-04-02 12:37:19 -07:00
Diptanu Choudhury 121773607a Merge pull request #1020 from hashicorp/f-capture-signals
Capturing signals from wait
2016-04-02 11:13:04 -07:00
Diptanu Choudhury d8b1303790 Adding 128 to exit code when a child was terminated by a signal 2016-04-02 02:05:56 -07:00
Diptanu Choudhury e47ead97da Capturing signals from wait 2016-04-01 14:31:19 -07:00
Diptanu Choudhury 8c7c48b01a Logging in fingerprinters only when state changes 2016-04-01 02:22:17 -07:00
Diptanu Choudhury fd3c05a2be Making driver fingerprinters run periodically and unblocking evals when node registration happens 2016-03-31 18:11:27 -07:00
Diptanu Choudhury 50ce00c566 Merge pull request #1011 from hashicorp/f-docker-load
Added ability to create image from archive
2016-03-30 21:25:13 -07:00
Diptanu Choudhury 2601468708 Making the load a list of strings and added website docs 2016-03-30 17:23:29 -07:00
Diptanu Choudhury 6b46e27236 Simplified the logic of deciding how to create image 2016-03-30 15:45:17 -07:00
Diptanu Choudhury 52af6cd63c Added docs 2016-03-30 15:26:51 -07:00
Diptanu Choudhury cc9c07afdb Added a test 2016-03-30 13:42:17 -07:00
Diptanu Choudhury babbe86933 Added ability to create image from archive 2016-03-30 13:09:32 -07:00
Alex Dadgar 2e88933eb1 Merge pull request #1009 from hashicorp/b-more-chroot
Chroot all of /usr/
2016-03-30 11:33:53 -07:00
Diptanu Choudhury f517eb16de Added version to executor 2016-03-29 22:24:22 -07:00
Diptanu Choudhury 2b773b0a39 Added the Version method to executor 2016-03-29 22:23:03 -07:00
Diptanu Choudhury 425258bd46 Fixing comments 2016-03-29 17:30:43 -07:00
Diptanu Choudhury b55254ba0a Not deleting files if the number of files is less than max files 2016-03-29 16:42:18 -07:00
Alex Dadgar 8e762ab1ee include all of usr 2016-03-29 16:14:56 -07:00
Alex Dadgar 3b2b3f95ca Merge branch 'master' of github.com:hashicorp/nomad 2016-03-28 17:24:17 -07:00
Alex Dadgar 23c1173269 ArtifactDownloaded in task runner state 2016-03-28 17:24:10 -07:00
Diptanu Choudhury 802844397d Supporting interpolation in service name, check name/protocol/path 2016-03-28 15:52:57 -07:00
Diptanu Choudhury b791c91c6f Added support for interpolation in check cmd and args 2016-03-28 15:02:00 -07:00
Diptanu Choudhury e0263d3013 Added docs to interpolateServices method 2016-03-28 15:02:00 -07:00
Diptanu Choudhury 5439d4c23c Interpolating service tags 2016-03-28 15:02:00 -07:00
Diptanu Choudhury f13d6907f7 Merge pull request #995 from hashicorp/f-consul-https
Using tls cert and key files while connecting to consul over https
2016-03-28 14:26:49 -07:00
Diptanu Choudhury 2963c3f1f4 Renamed checks cmd to command to be consistent with exec driver config 2016-03-28 14:05:12 -07:00
Diptanu Choudhury 2bc5e78e9e Added docs 2016-03-27 23:21:50 -07:00
Diptanu Choudhury d3d4eeb1c1 Using tls cert and key files while connecting to consul over https 2016-03-27 23:09:31 -07:00
Diptanu Choudhury c872711d01 Merge pull request #986 from hashicorp/scripts
Implement script checks
2016-03-25 18:22:35 -07:00
Diptanu Choudhury f167a4c910 Using latest busybox 2016-03-25 18:21:43 -07:00
Diptanu Choudhury a4e81d751d Fixing the exec script check to run within the chroot 2016-03-25 17:53:22 -07:00
Diptanu Choudhury e893e71e21 Moved the dockerIsConnected to testutils 2016-03-25 17:15:51 -07:00
Diptanu Choudhury 439a86f194 Removing the container after running script check 2016-03-25 17:02:53 -07:00
Diptanu Choudhury 44a3f2ae1f Added more tests for the checks 2016-03-25 16:56:40 -07:00
Diptanu Choudhury 853c5120d0 Using a single timer to run checks 2016-03-25 16:11:45 -07:00
Alex Dadgar d8ca192a86 Fix test 2016-03-25 10:26:32 -07:00
Alex Dadgar 733af498fd add test for precedence 2016-03-25 10:16:04 -07:00
Diptanu Choudhury b08d80379c Added some more docs to the executor 2016-03-24 19:34:22 -07:00
Diptanu Choudhury 61469a1b7a Added some docs 2016-03-24 19:30:02 -07:00
Diptanu Choudhury 2a9e522ed4 Added an impl for Nomad Checks 2016-03-24 19:00:24 -07:00
Alex Dadgar f05e2550a8 add job and task group meta 2016-03-24 17:39:09 -07:00
Diptanu Choudhury b3cfbbf9fd Added a test for the exec script check 2016-03-24 16:33:04 -07:00
Diptanu Choudhury 7ab6ad1ef5 Creating the docker driver in the executor properly 2016-03-24 16:15:22 -07:00
Diptanu Choudhury a6711ea25f Introducing ConsulContext 2016-03-24 15:57:16 -07:00
Diptanu Choudhury f09bb1572a Fixed merge conflicts 2016-03-24 15:09:50 -07:00
Diptanu Choudhury d6588013f8 Running script checks periodically 2016-03-24 14:54:26 -07:00
Diptanu Choudhury 2a5f300f92 Added a check type for consul service to delegate certain checks 2016-03-24 14:54:26 -07:00
Diptanu Choudhury 62853a1627 Added implementation to run checks for docker, exec and raw_exec 2016-03-24 14:54:26 -07:00
Diptanu Choudhury 60fc9919f7 Changing the log line 2016-03-24 14:53:53 -07:00
Diptanu Choudhury 6a62d4f452 Fixing check registration in perform sync 2016-03-24 14:12:09 -07:00
Alex Dadgar fc0e48b0ec Merge pull request #950 from mssola/raw-exec-user
client: added the "user" option to tasks
2016-03-24 08:57:13 -07:00
Miquel Sabaté Solà f76f5c960f client/driver: added more tests
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
2016-03-24 08:47:23 +01:00
Diptanu Choudhury 76343a3748 Merge pull request #972 from hashicorp/scripts
Moving consul service to executor
2016-03-24 00:12:45 -07:00
Diptanu Choudhury fc156a736b Changed a log line 2016-03-23 19:20:08 -07:00
Diptanu Choudhury e98f5e4ee3 Locking the task states 2016-03-23 19:02:29 -07:00
Diptanu Choudhury 6649829c93 Renaming the SyncWithConsul method 2016-03-23 18:13:13 -07:00
Diptanu Choudhury 46da4ba469 Fixing log and statements 2016-03-23 18:08:32 -07:00
Diptanu Choudhury 62242595fc Using the name of the task and the alloc id in the service name 2016-03-23 17:35:29 -07:00
Diptanu Choudhury 664ff44e85 Re-syncing task when it's updated 2016-03-23 14:34:43 -07:00
Diptanu Choudhury 83976a4b96 Syncing consul periodically 2016-03-23 14:27:49 -07:00
Diptanu Choudhury bf748a522b Handling errors during service and check registration 2016-03-23 14:23:32 -07:00
Alex Dadgar 5eddb939f3 Comment and don't override 2016-03-23 14:07:12 -07:00
Diptanu Choudhury 54a5e795a5 Hooking up the executor in all drivers 2016-03-23 13:19:45 -07:00
Alex Dadgar f3d09755c5 Pass environment variables from host to exec based tasks 2016-03-23 13:01:45 -07:00
Diptanu Choudhury 8b91606b22 Making the docker driver register services and checks 2016-03-23 12:59:22 -07:00
Diptanu Choudhury f6a932194f Removing references to old consul services and adding consul config to executor context 2016-03-23 12:19:19 -07:00
Miquel Sabaté Solà 8c56c64615 client/driver: added the `user` config value
This way Nomad allows to set which user has to run the task.

Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
2016-03-23 12:57:31 +01:00
Diptanu Choudhury 034d2f6470 Making the calls to exit idempotent 2016-03-22 11:49:56 -07:00
Diptanu Choudhury 4a1797e2c6 Merge branch 'master' of github.com:hashicorp/nomad 2016-03-21 17:45:13 -07:00
Diptanu Choudhury fbccb754e1 Fixed the qemu driver tests 2016-03-21 17:44:37 -07:00
Alex Dadgar 7b36d7ec55 Reduce verbosity of alloc-status 2016-03-20 16:52:24 -07:00
Alex Dadgar c85dfdf9a0 Merge branch 'master' into f-artifact-location 2016-03-19 12:50:44 -07:00
Alex Dadgar f4bb3a9801 binary lookup path 2016-03-19 12:18:10 -07:00
Abhishek Chanda 2d3ccc1898 Fix missing import 2016-03-18 23:00:34 -07:00
Diptanu Choudhury 0f0bba1a4f Merge pull request #932 from hashicorp/unified-executor
Unified executor
2016-03-18 15:04:48 -07:00
Diptanu Choudhury 038a1bc2f9 Added some comments 2016-03-18 15:04:15 -07:00
Diptanu Choudhury ddbf18f02a Removing all the destroy logic from wait and calling exit after wait on all drivers 2016-03-18 12:04:11 -07:00
Diptanu Choudhury abf8e50c29 Destroying the plugin if kill wasn't successful 2016-03-18 11:53:25 -07:00
Diptanu Choudhury 3c7b83b393 Introduced a method in executor to launch syslog server 2016-03-18 11:49:10 -07:00
Brian Lalor efe080b53f Remove unnecessary --interactive flag
Per @achanda, this was added [accidentally](b92546a9c5 (commitcomment-16750062)).
2016-03-17 13:22:49 -04:00
Alex Dadgar 40adf40549 document artifact downloading 2016-03-16 09:56:04 -07:00
Alex Dadgar e6d50f96ef Respond to comments and fix test 2016-03-15 20:21:52 -07:00
Alex Dadgar 393807a677 Make user specified tasks executable 2016-03-15 19:22:40 -07:00
Alex Dadgar ab44bc78a2 Get tests to pass 2016-03-15 13:28:57 -07:00
Alex Dadgar 9f878a16bf Download artifacts and remove old code for drivers 2016-03-15 13:28:57 -07:00
Alex Dadgar 79d7553cbf executor: add /run/resolvconf to chroot 2016-03-10 15:05:49 -08:00
Alex Dadgar 49e5024a2f fmt rkt test 2016-03-10 14:56:43 -08:00
Diptanu Choudhury 512d0c317a Merge pull request #897 from hashicorp/syslog-addr
Using unix domain sockets for docker syslog collector
2016-03-10 11:49:21 -08:00
Alex Dadgar 2ccfb43c7a Merge pull request #892 from achanda/rkt_dns
Enable passing DNS info to the rkt driver
2016-03-10 08:54:26 -08:00
Diptanu Choudhury b18cbaa416 Using unix domain sockets for docker syslog collector 2016-03-09 23:28:26 -08:00
Diptanu Choudhury 713dfcf751 Merge pull request #896 from hashicorp/f-task-instance
Add allocation index environment variable
2016-03-09 18:34:32 -08:00
Diptanu Choudhury f1c9d11c55 Merge pull request #878 from hashicorp/b-kill-timeout-update
client: Updating kill timeout adheres to operator specified maximum
2016-03-09 18:33:40 -08:00
Alex Dadgar 8ad65876bf Add allocation index environment variable 2016-03-09 18:09:51 -08:00
Abhishek Chanda 3260254cb4 Enable passing DNS info to the rkt driver 2016-03-08 18:59:11 -08:00
Diptanu Choudhury 674d1c9b24 Making the docker fingerprinter periodic 2016-03-08 12:02:55 -08:00
Alex Dadgar 3dfe8e70f6 Fix test 2016-03-08 11:41:26 -08:00
Erik Evenson c515cce551 moves transform to Init() 2016-03-06 19:00:40 -06:00
Erik Evenson bef4b0d9b6 Merge branch 'master' into study/aws-ecr-1 2016-03-06 18:18:20 -06:00
Alex Dadgar 5bcfdeb41d Fix bug introduced with paused nack timers 2016-03-04 16:17:14 -08:00
Alex Dadgar 929e705ba1 Updating kill timeout adheres to operator specified maximum 2016-03-03 09:21:21 -08:00
Diptanu Choudhury a44127aaa6 Merge pull request #768 from achanda/b-rkt
A number of rkt fixes
2016-03-02 21:29:48 -08:00
Alex Dadgar 0b12e74a6e Add /sbin and /usr/sbin/ to chroot 2016-03-02 16:32:31 -08:00
Alex Dadgar 144ccfb561 Killing a docker container that is dead is not an error 2016-03-02 16:27:01 -08:00
Abhishek Chanda ef83066b7a Fix location of volume mount
Also add a test for mounting alloc dirs
2016-03-02 14:04:14 -08:00
Abhishek Chanda 9e1055d595 Use NewWaitResult in the wait channel 2016-03-02 14:04:14 -08:00
Abhishek Chanda 5a3be40b8d Set allocDir in handle 2016-03-02 14:04:14 -08:00
Abhishek Chanda a78fc6707f Run rkt interactively 2016-03-02 14:04:14 -08:00
Abhishek Chanda 29bcab9bfd Cleanup if the plugin executor crashes. 2016-03-02 14:04:14 -08:00
Abhishek Chanda 8957726a0a A number of cleanups
- Removed some unused variables.
2016-03-02 14:04:14 -08:00
Abhishek Chanda 77d9ba3526 Change name of the stdout file 2016-03-02 14:04:14 -08:00
Abhishek Chanda fbc6f3f0b1 Do not hard-code binary location 2016-03-02 14:04:14 -08:00
Abhishek Chanda d490df2bad Use the plugin mechanism in the rkt driver 2016-03-02 14:04:14 -08:00
Abhishek Chanda 459ed48c43 Defer cleanup 2016-03-02 14:04:14 -08:00
Abhishek Chanda e40c4630d7 Change how a result is returned form wait 2016-03-02 14:04:14 -08:00
Abhishek Chanda 579da2930a Use less resources for containers 2016-03-02 14:04:14 -08:00
Abhishek Chanda 7719a1ce98 A number of rkt fixes
- Reorder rkt arguments to make it work
- Change a few things in test
2016-03-02 14:04:14 -08:00
Abhishek Chanda b35e244c7d Use a host volume to mount alloc and task dirs
host volumes are the preferred way to share data.
2016-03-02 14:04:14 -08:00
Abhishek Chanda 370332fdf3 Create the task and alloc dirs before proceeding 2016-03-02 14:04:14 -08:00
Alex Dadgar d7ebd7ab5e Merge pull request #869 from hashicorp/f-alloc-id-env
Add Alloc ID/Name and Task Name to environment variables
2016-03-02 13:58:47 -08:00
Diptanu Choudhury 6324e18cac Merge pull request #855 from hashicorp/cgroups-pid
Updated logic for creation of cgroup
2016-03-02 12:57:25 -08:00
Diptanu Choudhury 395d10eafc Added a comment 2016-03-02 12:56:56 -08:00
Diptanu Choudhury 04cb13f3a5 Added a test for making sure executor destroy works 2016-03-02 11:05:08 -08:00
Diptanu Choudhury aaa23154aa Not killing the plugin while destroying the cgroup 2016-03-01 17:51:54 -08:00
Diptanu Choudhury 5748bd0516 Fixed the logic of cgroup creation 2016-03-01 17:01:45 -08:00
Alex Dadgar d7b425e5c1 Driver tests 2016-03-01 16:22:33 -08:00
Alex Dadgar f8b047e088 Add Alloc ID/Name and Task Name to environment variables 2016-03-01 16:08:21 -08:00
Erik Evenson eca9029664 adds comments and removes redundant false flag setting 2016-02-29 08:17:40 -06:00
Alex Dadgar 61972c9ddc Refactor task runner to include driver starting into restart policy and add recoverable errors 2016-02-28 16:56:05 -08:00
Erik Evenson 10e32a74d1 refactors 2016-02-27 12:00:17 -06:00
Erik Evenson 4572753014 allows AWS ECR to work 2016-02-27 11:06:40 -06:00
Diptanu Choudhury 2bfab1bd30 Merge pull request #850 from hashicorp/snap-version
Adding version information to snapshots
2016-02-25 10:54:26 -08:00
Diptanu Choudhury ce5b497dbc Adding version to the DockerHandle test 2016-02-25 08:51:10 -08:00
Diptanu Choudhury 7891737fa8 Fixed some java tests 2016-02-24 23:54:01 -08:00
Diptanu Choudhury 47da0b02b3 Writing logs to alloc dir 2016-02-24 20:06:43 -08:00
Diptanu Choudhury e3d6c4a9dd Adding version information to snapshots 2016-02-24 19:06:30 -08:00
Alex Dadgar cc1b35a90c client: standardize error logging format 2016-02-24 15:57:58 -08:00
Diptanu Choudhury 62029e4bf9 Making the build work for windows 2016-02-23 15:17:07 -08:00
Alex Dadgar da50c36564 driver.test: remove redundant tests 2016-02-23 14:41:52 -08:00
Diptanu Choudhury 27ab08ce1c Merge pull request #842 from hashicorp/f-validate-command
drivers: validate that command contains one field
2016-02-23 13:45:10 -08:00
Diptanu Choudhury 7fcbdf5a9b Closing the rotators when the process finishes 2016-02-23 13:32:17 -08:00
Alex Dadgar f612b9c81e validate that command contains one field 2016-02-23 10:19:40 -08:00
Diptanu Choudhury d6f09400f7 Merge pull request #819 from hashicorp/r-syslog-collector
Refactored syslog server and log rotator
2016-02-23 10:15:14 -08:00
Diptanu Choudhury fd2be356cc Closing the messages channel 2016-02-23 10:14:54 -08:00
Diptanu Choudhury bd99982b96 Stoping go-routines in the syslog collector 2016-02-23 09:43:14 -08:00
Diptanu Choudhury c9e00127c3 Buffering writes to a rotated file 2016-02-23 08:52:06 -08:00
Diptanu Choudhury 3211e67961 Made the syslog server use a buffered chan 2016-02-22 16:10:23 -08:00
Diptanu Choudhury c21f6f8eea Throwing an error if Nomad can't create an docker auth object 2016-02-22 13:20:06 -08:00
Diptanu Choudhury bf3e3f5f59 Throwing an error if Nomad can't create an docker auth object 2016-02-22 13:00:54 -08:00
Diptanu Choudhury 91e8800b6b Added more comments 2016-02-19 21:58:44 -08:00
Diptanu Choudhury 0cc9b76d26 Fixed tests 2016-02-19 15:15:59 -08:00
Diptanu Choudhury 694cecfbf8 Added some docs to the syslog server 2016-02-19 14:20:21 -08:00
Diptanu Choudhury 8096722cad Added some docs to the FileRotator 2016-02-19 14:11:31 -08:00
Diptanu Choudhury 4873118cef Making the log rotator a writer 2016-02-19 14:01:07 -08:00
Diptanu Choudhury 488fd763c8 Renamed packages 2016-02-19 13:08:25 -08:00
Diptanu Choudhury 824df263aa Implemented file rotator 2016-02-19 12:55:34 -08:00
Diptanu Choudhury 5180480787 Fixed the fingerprinter test 2016-02-18 11:34:17 -08:00
Diptanu Choudhury 502d56b232 Enabling cgroups and chroot on linux 2016-02-18 09:49:11 -08:00
Diptanu Choudhury ef7cfb1f0b Implemented a custom syslog server 2016-02-17 14:48:25 -08:00
Alex Dadgar 48bc77bc7f fix java test 2016-02-17 10:04:19 -08:00
Alex Dadgar 18d2d9c091 Killing a driver handle is retried with an exponential backoff 2016-02-16 21:00:49 -08:00
Abhishek Chanda 2059cf221b Separate arguments with a space while writing 2016-02-16 17:13:19 -08:00
Diptanu Choudhury 8d6be22181 Merge branch 'master' of github.com:hashicorp/nomad 2016-02-12 16:20:41 -08:00
Diptanu Choudhury fce4a0bd2c Added stubs for windows 2016-02-12 16:20:04 -08:00
Alex Dadgar f6e0349d3b go vet 2016-02-12 16:08:58 -08:00
Diptanu Choudhury b1c57e078f Changing log messages in the docker driver 2016-02-12 13:33:09 -08:00
Alex Dadgar 18da7eea95 Update go-plugin 2016-02-12 12:16:56 -08:00