Commit graph

797 commits

Author SHA1 Message Date
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
Diptanu Choudhury c6e395fa0e Fixed tests 2016-02-11 17:34:46 -08:00
Diptanu Choudhury 7eba3f3b5f Merge pull request #763 from hashicorp/f-logrotator
Implemented log rotation for drivers
2016-02-11 15:02:39 -08:00
Diptanu Choudhury 3db617472c Fixed an issue with purge 2016-02-11 14:44:35 -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 9e994cb8d0 Fixed some tests 2016-02-11 10:42:56 -08:00
Alex Dadgar e6e7c395df Merge pull request #775 from hashicorp/d-interpreted-vars
Documentation for interpreted variables
2016-02-11 08:40:31 -08:00
Diptanu Choudhury 5480a6744e Renamed the syslog package to logcollector 2016-02-10 18:47:46 -08:00
Diptanu Choudhury b0d2328734 Added a test to check if file size update catches up with rotation 2016-02-10 17:34:14 -08:00
Diptanu Choudhury 566d709110 Handling errors when client can't re-attach to syslog collector 2016-02-10 16:40:36 -08:00
Diptanu Choudhury 64c5206cae Changed the logic of the logrotator to make updates easier 2016-02-10 16:13:13 -08:00
Diptanu Choudhury e9187d48ca Sharing the isolationconfig of syslog collector with executor 2016-02-10 15:27:40 -08:00
Diptanu Choudhury 810e354571 Added some comments 2016-02-10 15:23:25 -08:00
Diptanu Choudhury 25c48cd1ea Updating log configs 2016-02-10 15:04:41 -08:00
Diptanu Choudhury a4f32f31c2 Stripping hostname, timestamps etc from docker syslog messages 2016-02-10 14:40:26 -08:00
Diptanu Choudhury 49099f4c70 Fixed more tests 2016-02-10 13:54:54 -08:00
Diptanu Choudhury ab75f89c33 Fixed docker tests 2016-02-10 13:29:06 -08:00
Diptanu Choudhury 79141f3021 Fixed the docker handle id test 2016-02-10 13:18:10 -08:00
Diptanu Choudhury 19d0e74608 Parsing the severity of the log lines 2016-02-10 12:09:07 -08:00
Diptanu Choudhury 776e57deb0 Adding newlines to loglines 2016-02-10 10:18:14 -08:00
Diptanu Choudhury 3a12204ce5 Updated comments 2016-02-10 08:13:08 -08:00
Diptanu Choudhury 0675282097 Simplified the logic of conversion of interface{} to byte array 2016-02-10 08:03:31 -08:00
Diptanu Choudhury 4b22221c27 Writing log lines from docker to files 2016-02-10 07:52:15 -08:00
Diptanu Choudhury 1e4c42f29d Starting the syslog collector along with a docker container 2016-02-09 18:24:30 -08:00
Diptanu Choudhury e592c229c8 Renamed the ExecutorPluginConfig 2016-02-09 12:59:05 -08:00
Diptanu Choudhury 96ddf38291 Merge branch 'master' into f-logrotator 2016-02-09 12:50:46 -08:00
Diptanu Choudhury 2054a7ed47 Removed unused imports in test 2016-02-09 12:31:14 -08:00
Diptanu Choudhury 9d6eed1fb4 Merge branch 'master' into f-logrotator 2016-02-09 12:25:44 -08:00
Diptanu Choudhury 477a159c9e Removing the killing executor pid tests 2016-02-09 11:29:02 -08:00
Diptanu Choudhury 587141f856 Removing taskDir from the exechandle 2016-02-09 10:21:47 -08:00
Diptanu Choudhury 0120aceb49 Merge branch 'r-executor-plugin' of github.com:hashicorp/nomad into r-executor-plugin 2016-02-09 10:17:44 -08:00
Diptanu Choudhury 8fca3625e2 Killing the userpid if the plugin is killed while the client is running 2016-02-09 10:17:33 -08:00
Alex Dadgar e7e7348727 Don't error killing exited process 2016-02-09 10:00:42 -08:00
Alex Dadgar 4fa7b35443 more time 2016-02-09 09:43:40 -08:00
Alex Dadgar 5f966ec57a Fix min duration 2016-02-08 19:46:46 -08:00
Alex Dadgar c8807e2927 Fix timeouts between signal and kill 2016-02-08 19:31:57 -08:00
Diptanu Choudhury 9a46dcb553 Fixed a test 2016-02-08 19:00:26 -08:00
Alex Dadgar 75473e88d2 Unmount special directories when task finishes 2016-02-08 18:51:11 -08:00
Diptanu Choudhury 4644f8a9d4 Added a test for merge 2016-02-08 16:27:31 -08:00
Diptanu Choudhury 1a13400f2d Moved the destroycgroup method into executor 2016-02-08 16:08:29 -08:00
Diptanu Choudhury fc8e099cc3 removing the prefix of the logger 2016-02-08 15:07:18 -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 10fe104f97 Unmounting dev and proc when open can't reconnect with the plugin process 2016-02-08 14:31:03 -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 21677468cf Setting defaults for client max and min port 2016-02-08 13:29:53 -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 68d0105634 Isolating the plugin process from the nomad client 2016-02-07 22:33:48 -05:00
Diptanu Choudhury 4527410e33 Fixed merged conflict 2016-02-07 17:58:31 -05:00
Alex Dadgar 40f510f168 interpreted variable docs 2016-02-06 15:35:07 -08:00
Diptanu Choudhury d0b6fb1993 Updated the docker auth config 2016-02-06 05:47:56 -08:00
Diptanu Choudhury 745bfaae7b Reading dockercfg files for authenticating with private registries 2016-02-06 05:43:30 -08:00
Diptanu Choudhury c9d2151f90 Changed a few comments 2016-02-05 18:07:06 -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 2871dfce26 Using signals to test if proces is alive 2016-02-05 13:05:49 -08:00
Diptanu Choudhury fa41d8a062 Added a test which shows userpid is killed when plugin can not be re-connected on calling Open 2016-02-05 11:37:13 -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 f4ea6a15c8 Making the java driver apply resource constraints and limits 2016-02-05 10:55:03 -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 faf6083352 Passing the log rotation parameters to docker daemon 2016-02-05 00:22:31 -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 ff714703e6 Fixing merge conflicts 2016-02-04 22:55:38 -08:00
Diptanu Choudhury 9c963055a4 Running processes with exec as nobody 2016-02-04 17:49:47 -08:00
Diptanu Choudhury 30d5bba131 Not syncing stdout and stderr of pluging with client 2016-02-04 17:36:31 -08:00
Alex Dadgar a4f7709f08 Fix tests 2016-02-04 17:27:58 -08:00
Diptanu Choudhury f5ce39e3fa Updated the value of the magic cookie 2016-02-04 17:00:41 -08:00
Diptanu Choudhury 6d48f1933b Removed using ProcessState when we just want an empty interface 2016-02-04 17:00:41 -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 0309506b57 Added tests for the executor 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 7f790826af Destroying the plugin if we can't connect to it 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 63e0b20e5e Removed duplicate code 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 94a51a6a1b Fixing the id generation logic for the java and qemu drivers 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 02db2e5735 Fixed the raw_exec_driver tests 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 83882eca3f Fixed the kill test 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 6c9f33ed19 Fixed creation of the command args 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 675b5f898a Fixed the wait rpc server 2016-02-04 17:00:40 -08:00
Diptanu Choudhury 7e3041e2ee Fixed a test related to wait 2016-02-04 17:00:39 -08:00
Diptanu Choudhury e5595fd8cb Fixed a test 2016-02-04 17:00:39 -08:00
Diptanu Choudhury 38374e3703 Fixed a comment 2016-02-04 17:00:39 -08:00
Diptanu Choudhury 2f9c14c3e0 Fixed the rpc server 2016-02-04 17:00:39 -08:00
Diptanu Choudhury 356fb6abdb Removed executor and spawn daemon 2016-02-04 17:00:39 -08:00
Diptanu Choudhury 263c89fdee Moved qemu to executor plugin 2016-02-04 17:00:39 -08:00
Diptanu Choudhury a821c162ff Moving the java executor to the executor plugin 2016-02-04 17:00:39 -08:00
Diptanu Choudhury 17d2257a13 Enabling logs and killing the plugin if we couldn't start the job 2016-02-04 17:00:39 -08:00
Diptanu Choudhury c6271d2408 Making the wait asynchronous 2016-02-04 17:00:38 -08:00
Diptanu Choudhury 6a719ef167 Turning on isolation for exec 2016-02-04 17:00:38 -08:00
Diptanu Choudhury 1c616deab3 Introduced the flag for the user 2016-02-04 17:00:38 -08:00
Diptanu Choudhury 3accb642e8 Creating the universal executor 2016-02-04 17:00:38 -08:00
Diptanu Choudhury 6eba0e46ec Killing the plugin after wait returns 2016-02-04 17:00:38 -08:00
Diptanu Choudhury 14acbe7479 Limiting resources on a process 2016-02-04 17:00:38 -08:00
Diptanu Choudhury a6f87c555c Fixed the path to the log files 2016-02-04 17:00:38 -08:00
Diptanu Choudhury 9fc86deb43 Implemented the exec functioanlity for linux 2016-02-04 17:00:37 -08:00
Diptanu Choudhury 87f40135ea Using the plugin to spawn processes from the raw_exec driver 2016-02-04 17:00:37 -08:00
Diptanu Choudhury 57453086a7 Fixed the executor command 2016-02-04 17:00:37 -08:00
Diptanu Choudhury 4ed85d0ab2 Using a plugin to create the executor 2016-02-04 17:00:37 -08:00
Alex Dadgar 21c2368626 Fix java test 2016-02-04 15:26:37 -08:00
Alex Dadgar 77b89d15e4 Extract artifacts to the root of the task, not in the local directory 2016-02-04 15:18:22 -08:00
Alex Dadgar 41e1174f72 Client handles updates to KillTimeout and Restart Policy 2016-02-03 19:43:44 -08:00
Alex Dadgar 2d42cb3e55 update the regex 2016-02-02 15:39:45 -08:00
Alex Dadgar 3b8e7a75d2 Merge pull request #704 from iverberk/f-env-ports
Pass a combination of ip and port to the task environment.
2016-01-29 08:53:47 -08:00
Alex Dadgar 4ce455be31 Merge pull request #712 from iverberk/f-cgroup-finterprinter
Add periodic cgroup fingerprinter
2016-01-29 08:50:43 -08:00
Ivo Verberk 22fef1766b Add comments and small improvements to cgroup fingerprinter 2016-01-29 14:34:29 +01:00
Ivo Verberk 7f97dd8553 Only enable exec driver when cgroups are available
Make the exec driver fingerprinter periodic to disable the driver when
cgroups become unavailable.
2016-01-27 07:32:32 +01:00
Alex Dadgar e2763e3d31 Update the interpretation of node.id/name on the client 2016-01-26 17:38:36 -08:00
Ivo Verberk 061445468b Rename IPPort env variable and add a mapped host port to the env. 2016-01-25 20:46:01 +01:00
Ivo Verberk e58bda9056 Pass a combination of ip and port to the task environment.
The different labels can be on different IPs.
2016-01-24 10:31:03 +01:00
Alex Dadgar ec9c375c1c Have docker use the task environment in the context 2016-01-22 15:00:36 -08:00
Alex Dadgar a1cd55e53e Merge pull request #690 from hashicorp/b-fix-root-tests
Fix failing tests running under root
2016-01-21 17:01:10 -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 a4ddfc306b ordering issue 2016-01-21 13:28:48 -08:00
Alex Dadgar 9656714f4e Bump again 2016-01-21 12:55:35 -08:00
Alex Dadgar fd21e890db Time Duration fixes 2016-01-21 12:29:13 -08:00
Diptanu Choudhury d1e4bf1f03 Simplied the logic of detecting the currently rotate log file 2016-01-20 16:50:31 -08:00
Diptanu Choudhury 5035699c14 Added a comment in the test 2016-01-20 16:30:55 -08:00
Diptanu Choudhury 7099aacbb3 Simplifying a test 2016-01-20 16:25:51 -08:00
Diptanu Choudhury 92cc950398 Using tmpdir and tmpfile in tests 2016-01-20 16:17:49 -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
Diptanu Choudhury 6b9dcd06c6 Renaming a test 2016-01-20 15:55:41 -08:00
Diptanu Choudhury 87eef5cd3f Changing the logic of purging old rotated files 2016-01-20 15:53:17 -08:00
Diptanu Choudhury 46f09dd1f1 Added some comments 2016-01-20 14:14:37 -08:00
Alex Dadgar 9f5ccee7ff Fix docker tests 2016-01-19 15:35:01 -08:00
Diptanu Choudhury d3734a47cd stating an existing file only once 2016-01-16 20:09:24 -08:00
Diptanu Choudhury 4122aeedc8 Added a comment for bufsize 2016-01-16 19:21:16 -08:00
Diptanu Choudhury 6e069369fe Implemented a method to purge files 2016-01-16 19:19:52 -08:00
Diptanu Choudhury c3fd960485 Fixing tests 2016-01-15 11:18:02 -08:00
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