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
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
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
dba8712b45
remove systemd cgroup manager
2016-04-15 14:55:30 -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
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
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
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
2963c3f1f4
Renamed checks cmd to command to be consistent with exec driver config
2016-03-28 14:05:12 -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
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
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
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
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
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
Diptanu Choudhury
54a5e795a5
Hooking up the executor in all drivers
2016-03-23 13:19: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
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
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
3c7b83b393
Introduced a method in executor to launch syslog server
2016-03-18 11:49:10 -07:00
Alex Dadgar
40adf40549
document artifact downloading
2016-03-16 09:56:04 -07:00
Alex Dadgar
393807a677
Make user specified tasks executable
2016-03-15 19:22:40 -07:00
Alex Dadgar
79d7553cbf
executor: add /run/resolvconf to chroot
2016-03-10 15:05:49 -08:00
Alex Dadgar
0b12e74a6e
Add /sbin and /usr/sbin/ to chroot
2016-03-02 16:32:31 -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
Diptanu Choudhury
47da0b02b3
Writing logs to alloc dir
2016-02-24 20:06:43 -08:00
Alex Dadgar
cc1b35a90c
client: standardize error logging format
2016-02-24 15:57:58 -08:00
Diptanu Choudhury
7fcbdf5a9b
Closing the rotators when the process finishes
2016-02-23 13:32:17 -08:00
Diptanu Choudhury
4873118cef
Making the log rotator a writer
2016-02-19 14:01:07 -08:00
Abhishek Chanda
2059cf221b
Separate arguments with a space while writing
2016-02-16 17:13:19 -08:00
Diptanu Choudhury
0d362c39e7
Fixed more client executor tests
2016-02-11 11:13:45 -08:00
Diptanu Choudhury
cd957a739a
Fixed the executor test
2016-02-11 10:58:18 -08:00
Diptanu Choudhury
3a12204ce5
Updated comments
2016-02-10 08:13:08 -08:00
Diptanu Choudhury
9d6eed1fb4
Merge branch 'master' into f-logrotator
2016-02-09 12:25:44 -08:00
Alex Dadgar
e7e7348727
Don't error killing exited process
2016-02-09 10:00:42 -08:00
Alex Dadgar
75473e88d2
Unmount special directories when task finishes
2016-02-08 18:51:11 -08:00
Diptanu Choudhury
1a13400f2d
Moved the destroycgroup method into executor
2016-02-08 16:08:29 -08:00
Diptanu Choudhury
32e24e257a
Appending names of sub-system before log lines
2016-02-08 14:47:10 -08:00
Diptanu Choudhury
6c85ed6c8e
Removing pathExists from executor
2016-02-08 14:40:54 -08:00
Diptanu Choudhury
e89bcf52b8
Moving code to mount and unmount chroot into allocdir
2016-02-08 14:11:53 -08:00
Diptanu Choudhury
e53ebc9e3c
Extracted the cgroup info into isolation struct
2016-02-08 13:48:26 -08:00
Diptanu Choudhury
088d2cba53
Making the plugin server return the same instance of executor rpc server
2016-02-08 11:56:48 -08:00
Diptanu Choudhury
b8e4941862
Fixed merge conflicts
2016-02-08 10:24:27 -08:00
Diptanu Choudhury
ea5a8c66ab
Implemented the UpdateLogConfig method
2016-02-08 10:10:01 -08:00
Diptanu Choudhury
f6f51a6926
Destroying the cgroup if we can't to executor in exec and java drivers
2016-02-08 10:05:39 -08:00
Diptanu Choudhury
1b9a54abec
Updated comment
2016-02-05 17:40:06 -08:00
Diptanu Choudhury
370dc41ca2
Renamed the plugin log file
2016-02-05 17:07:02 -08:00
Diptanu Choudhury
f4b32ae5fc
Entering the plugin pid into the cgroup after creating it
2016-02-05 13:16:29 -08:00
Diptanu Choudhury
918cc46d30
Added a test which isolates and constraints a process using the executor
2016-02-05 11:07:16 -08:00
Diptanu Choudhury
b788017574
Corrected comments and making the plugins write to unique log files
2016-02-05 10:49:54 -08:00
Diptanu Choudhury
08932e5bbc
Putting the plugin in the same cgroup as the user process
2016-02-05 00:11:09 -08:00
Diptanu Choudhury
91e7922f3b
Implemented log rotator for exec based drivers
2016-02-04 23:54:15 -08:00
Diptanu Choudhury
30d5bba131
Not syncing stdout and stderr of pluging with client
2016-02-04 17:36:31 -08:00
Diptanu Choudhury
a0ff83f44c
Added some docs
2016-02-04 17:00:41 -08:00
Diptanu Choudhury
f95b973c2c
Moved packages around
2016-02-04 17:00:41 -08:00
Diptanu Choudhury
356fb6abdb
Removed executor and spawn daemon
2016-02-04 17:00:39 -08:00
Alex Dadgar
a3c22258cd
Use TestMultiplier on all waits
2016-01-21 15:24:24 -08:00
Alex Dadgar
0406a3a190
Handle case that pid is dead in ForceStop
2016-01-21 14:09:04 -08:00
Alex Dadgar
1ceb6f012a
Fix a bunch of tests
...
Up timeouts
trusty travis beta
Increase timeouts
2016-01-20 16:03:53 -08:00
Alex Dadgar
6d157a0337
Fix tests
2016-01-11 09:58:31 -08:00
Alex Dadgar
3ba1c9b76b
merge
2016-01-11 09:58:26 -08:00
Kenneth Feng
a85b2c0e90
linux/exec: add /usr/share to ChrootEnv
2015-12-28 13:39:34 -05:00
Clint Shryock
77b5639160
Executors/Linux: Update Executor config struct
2015-12-17 10:25:42 -06:00
Diptanu Choudhury
f6fb42835e
Using cgo dependencies to look up users
2015-12-15 11:12:13 -08:00
Diptanu Choudhury
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
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
Chris Bednarski
655a4bf334
Fix some issues caught by go vet
2015-11-20 16:01:27 -08:00
Alex Dadgar
4d817f5cbc
Revert "Revert "Make drivers take arguments as a list and not as a string""
2015-11-18 15:16:42 -08:00
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
c04e2b8b8e
Fix executor tests
2015-11-18 12:29:04 -08:00
Alex Dadgar
54ddf4d3c1
Rebase
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
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
4e05b27111
Implemented port labeling and driver configs
2015-11-16 13:10:57 -08:00
Alex Dadgar
90336a160e
Guard mounting dev/ and proc/ and TaskRunner_RestoreState test
2015-11-10 16:35:33 -08:00
Alex Dadgar
933498e388
Client Restore test
2015-11-10 16:03:18 -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
d14bc26607
Calling incorrect executor build method
2015-11-05 11:54:51 -08:00
Alex Dadgar
04aecbda0b
Fix typo
2015-11-05 11:31:50 -08:00
Alex Dadgar
3cc2dd52b6
exec_basic uses Spawner; create shared test harness for executors
2015-11-05 09:58:57 -08: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