Commit Graph

324 Commits

Author SHA1 Message Date
Michael Schurter f6a4713141 consul: make grpc checks more like http checks 2018-05-04 11:08:11 -07:00
Michael Schurter 382caec1e1 consul: initial grpc implementation
Needs to be more like http.
2018-05-04 11:08:11 -07:00
Preetha Appan 33e170c15d
s/linear/constant/g 2018-03-26 14:45:09 -05:00
Alex Dadgar 02019f216a Correct defaulting 2018-03-21 16:51:44 -07:00
Michael Schurter c0542474db drain: initial drainv2 structs and impl 2018-03-21 16:49:48 -07:00
Preetha Appan 9a5e6edf1f
Rename DelayCeiling to MaxDelay 2018-03-14 16:10:32 -05:00
Preetha Appan bdae052ead
Add parsing test cases 2018-03-14 16:10:32 -05:00
Preetha Appan 8491584cda
Add new reschedule stanza fields to list of valid fields 2018-03-14 16:10:32 -05:00
Preetha Appan 780c8cceab
Fix linting 2018-01-31 09:56:53 -06:00
Preetha Appan 1f834d1a31
Add reschedule policy to API, and HCL parsing support. 2018-01-31 09:56:53 -06:00
Michael Schurter 7c282f174b Fix service.check_restart stanza propagation
There was a bug in jobspec parsing, a bug in CheckRestart merging, and a
bug in CheckRestart canonicalization. All are now tested.
2018-01-09 15:15:36 -08:00
Michael Schurter 4ae115dc59 Allow custom ports for services and checks
Fixes #3380

Adds address_mode to checks (but no auto) and allows services and checks
to set literal port numbers when using address_mode=driver.

This allows SDNs, overlays, etc to advertise internal and host addresses
as well as do checks against either.
2017-12-08 12:03:00 -08:00
Chelsea Holland Komlo 021336eaee fix up test fixture to properly parse 2017-12-06 16:23:55 -05:00
Chelsea Holland Komlo a010db084b fix up basic test
add conversion for KillSignal for api/struct representation of task
2017-12-06 14:36:45 -05:00
Chelsea Holland Komlo 69e4d03694 add missing new file 2017-12-06 14:36:45 -05:00
Chelsea Holland Komlo b08611cfac move kill_signal to task level, extend to docker 2017-12-06 14:36:39 -05:00
Alex Dadgar c1cc51dbee sync 2017-10-13 14:36:02 -07:00
Alex Dadgar 76e4230833 Merge pull request #3284 from hashicorp/f-lint
Enable more linters
2017-09-26 15:46:42 -07:00
Alex Dadgar 4173834231 Enable more linters 2017-09-26 15:26:33 -07:00
Michael Schurter d0140f07ca grace_period -> grace 2017-09-26 10:21:35 -07:00
Michael Schurter 801cea7264 Add check_restart to jobspec tests 2017-09-14 16:48:39 -07:00
Michael Schurter a180c00fc3 on_warning=false -> ignore_warnings=false
Treat warnings as unhealthy by default
2017-09-14 16:46:54 -07:00
Michael Schurter 22690c5f4c Add check watcher for restarting unhealthy tasks 2017-09-14 16:46:54 -07:00
Michael Schurter bf34505509 Add restart fields 2017-09-14 16:46:54 -07:00
Alex Dadgar 84d06f6abe Sync namespace changes 2017-09-07 17:04:21 -07:00
Michael Schurter e65fe686ed Test check header error conditions 2017-08-17 16:49:14 -07:00
Michael Schurter fd0e6b092b Error should tell user exactly what type to use 2017-08-17 16:49:14 -07:00
Michael Schurter a4029a7948 Add jobspec test for check method/header 2017-08-17 16:44:21 -07:00
Michael Schurter bb8d5689d8 Add Header and Method support for HTTP checks 2017-08-17 16:44:21 -07:00
Michael Schurter d529b422b2 Add optional shutdown delay to tasks
Fixes #2441

Defaults to 0 (no delay) for backward compat and because this feature
should be opt-in.
2017-08-16 17:59:46 -07:00
Alex Dadgar 067a638478 Allow template to set Vault grace
This PR allows a template to specify the Vault grace duration.

Fixes https://github.com/hashicorp/nomad/issues/2922
2017-08-01 14:14:08 -07:00
Alex Dadgar 45712c6ca3 test fixes 2017-07-07 14:11:27 -07:00
Michael Schurter 0d3bdf7210 Add support for go-getter modes
Fixes #2678
2017-07-06 10:45:44 -07:00
Michael Schurter b9bfb84b53 Implement DriverNetwork and Service.AddressMode
Ideally DriverNetwork would be fully populated in Driver.Prestart, but
Docker doesn't assign the container's IP until you start the container.

However, it's important to setup the port env vars before calling
Driver.Start, so Prestart should populate that.
2017-06-21 17:19:08 -07:00
Michael Schurter f9bd50a338 Test env parsing 2017-05-26 15:31:40 -07:00
Michael Schurter 10b6610e56 Functional consul template env file support 2017-05-23 13:45:14 -07:00
Alex Dadgar 10b040aea3 New update block; still need to handle the upgrade path 2017-05-08 17:44:26 -07:00
Michael Schurter 45a8635ea2 Add TLSSkipVerify support to api and parser 2017-04-19 12:45:34 -07:00
Alex Dadgar d83a8fe9f2 Unoptimized implementation + testing 2017-03-07 14:48:54 -08:00
Alex Dadgar 3b9bdfef1c Make validate work without a Nomad agent 2017-03-03 15:02:03 -08:00
Alex Dadgar 8827b4f4d0 Fix canonicalization of services 2017-03-01 15:30:01 -08:00
Alex Dadgar 5be806a3df Fix vet script and fix vet problems
This PR fixes our vet script and fixes all the missed vet changes.

It also fixes pointers being printed in `nomad stop <job>` and `nomad
node-status <node>`.
2017-02-27 16:00:19 -08:00
Alex Dadgar 556fb2562f Remove defaulting from parse and fix parser tests
This PR removes defaulting from the parse, fixes some regressions that
existed as part of the parser refactor and fixes the tests.
2017-02-22 12:30:05 -08:00
Alex Dadgar b49fceb491 rebase 2017-02-20 16:43:28 -08:00
Alex Dadgar b67c59f03c Merge branch 'master' into refactor-parser 2017-02-20 15:13:21 -08:00
Diptanu Choudhury d0d7c92bab Added tests 2017-02-16 13:52:39 -08:00
Diptanu Choudhury 7567209857 Making the job spec return api.Job 2017-02-16 13:52:39 -08:00
Alex Dadgar 7e918003ba Allow specification of timezones 2017-02-15 14:37:06 -08:00
Alex Dadgar 3ba8faeae3 Add leader task to api and server side 2017-02-10 16:57:47 -08:00
Alex Dadgar 6b7efa1ba6 Template destination file permissions.
This PR allows setting the file permissions of the rendered template.
2017-01-31 20:10:01 -08:00
Alex Dadgar 3e35f453e4 Rename meta/parsing 2017-01-25 21:27:44 -08:00
Alex Dadgar 8196a58c4c Rename dispatch_input to dispatch_payload 2017-01-25 21:27:44 -08:00
Michael Schurter c7e1b1b9c7 parameterized_job -> parameterized 2017-01-20 12:46:04 -08:00
Michael Schurter 1f7b5b4b47 Rename Constructor -> Parameterized Job 2017-01-20 12:43:10 -08:00
Alex Dadgar 8d5f0fea69 Merge pull request #2128 from hashicorp/f-dispatch
Nomad Constructor Jobs and Dispatch
2017-01-06 05:22:49 +08:00
Alex Dadgar 4a5c3c8db0 Rename structs 2016-12-14 14:28:43 -08:00
Alex Dadgar f0b6d5953c Remove paused 2016-12-01 13:17:34 -08:00
Gábor Lipták 93148456ed Improve parsing of job struct 2016-11-23 20:18:50 -05:00
Alex Dadgar 8fb83fbb6c Parse 2016-11-23 15:48:36 -08:00
Diptanu Choudhury 7ea3efbd28 Added a warning message if disk attribute is non zero 2016-11-08 17:06:37 -08:00
Alex Dadgar 989827e402 Add set contains 2016-10-19 13:06:28 -07:00
Alex Dadgar d6606ecbe5 tests 2016-10-18 14:54:14 -07:00
Alex Dadgar ba0b3963ef Comments 2016-10-18 11:36:04 -07:00
Alex Dadgar 36cfe6e89e Large refactor of task runner and Vault token rehandling 2016-10-18 11:24:20 -07:00
Alex Dadgar af036be754 Struct/api/parsing 2016-10-18 11:24:20 -07:00
Alex Dadgar 4eaabd675c Consul Template Manager 2016-10-03 12:59:31 -07:00
Diptanu Choudhury d50c395421 Getting snapshot of allocation from remote node (#1741)
* Added the alloc dir move

* Moving allocdirs when starting allocations

* Added the migrate flag to ephemeral disk

* Stopping migration if the allocation doesn't need migration any more

* Added the GetAllocDir method

* refactored code

* Added a test for alloc runner

* Incorporated review comments
2016-10-03 09:59:57 -07:00
Alex Dadgar fca2becaa5 Parse 2016-09-26 15:36:11 -07:00
Alex Dadgar 12de69a66f Struct and parse 2016-09-21 11:31:09 -07:00
Alex Dadgar 5e846ce2f9 Vault defined at all levels 2016-09-21 11:31:09 -07:00
Diptanu Choudhury 1b3c5e98c8 Renaming LocalDisk to EphemeralDisk (#1710)
Renaming LocalDisk to EphemeralDisk
2016-09-14 15:43:42 -07:00
Diptanu Choudhury 2f681b6415 Added copy method to LocalDisk 2016-08-26 14:24:47 -05:00
Diptanu Choudhury b844dc3600 Fixed more tests 2016-08-26 01:51:19 -05:00
Diptanu Choudhury d156f32f94 Implemented job spec parsing for sticky volumes 2016-08-24 13:51:15 -05:00
vishalnayak bd0a89bdae Added mapstructure tag for VaultToken 2016-08-17 16:23:29 -07:00
vishalnayak fb7db1143c Update jobspec parsing to contain vault_token at job level and not task level 2016-08-17 16:23:29 -07:00
Alex Dadgar 067f02a9af Add vault to jobspec 2016-08-17 16:23:29 -07:00
Diptanu Choudhury 4683aa3dc6 Cleaning up some code 2016-08-16 15:22:26 -07:00
Marin 8fc52974a3 fix initial status tests 2016-08-16 14:34:36 -07:00
Marin 69bc3a8fc8 Add support for initial check status 2016-08-16 12:05:15 -07:00
Diptanu Choudhury b180223f4b Allowing ports to be overriden in check definitions 2016-07-08 14:14:25 -07:00
Alex Dadgar 8e231fa382 Rename ConsulService back to Service 2016-06-12 16:36:49 -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 7956eb0c80
Rename structs.Task's `Service` attribute to `ConsulService` 2016-06-10 15:54:39 -04:00
Sean Chittenden 4973ec32bb
Rename structs.Services to structs.ConsulServices 2016-06-10 15:54:39 -04:00
Alex Dadgar 19f6a00568 test 2016-06-10 12:28:27 -07:00
Alex Dadgar 68cac2d0bc Don't create options unless necessary 2016-06-10 12:27:56 -07:00
Ivo Verberk e25a2d2f4f Docker labels configuration should be of type "array" in schema 2016-04-25 23:58:31 +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
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 2a9e522ed4 Added an impl for Nomad Checks 2016-03-24 19:00:24 -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 823261c974 add destination to artifact block and validate it 2016-03-18 12:01:46 -07:00
Alex Dadgar e6d50f96ef Respond to comments and fix test 2016-03-15 20:21:52 -07:00
Alex Dadgar 68059fa85c Go-getter options are generic and validation of checksums 2016-03-15 13:28:57 -07:00
Alex Dadgar 277a91336d Switch from string to artifact struct 2016-03-15 13:28:57 -07:00
Alex Dadgar 315fd954ea Parse artifacts and options 2016-03-15 13:28:57 -07:00
Ivo Verberk 318352cc0f Validate config keys 2016-03-10 19:16:35 +01:00
Alex Dadgar 1a34066daa update hashicorp dependencies 2016-02-15 17:38:08 -08:00
Diptanu Choudhury c84a000416 Fixed some more tests 2016-02-11 22:33:41 -08:00
Diptanu Choudhury 43206bfc1c Made a DefaultLogConfig method 2016-02-10 16:44:31 -08:00
Diptanu Choudhury 5b9dcf9926 Added parsing logic for the logrotator 2016-02-04 23:28:01 -08:00
Alex Dadgar 8aa3853399 Fix test 2016-02-02 17:39:01 -08:00
Alex Dadgar 6f20d3f435 Restart on-success shouldn't be user specifiable 2016-02-02 17:35:06 -08:00
Alex Dadgar 5142f1e4c0 Validate min resources and default them 2016-02-02 13:27:50 -08:00
Alex Dadgar 24fd4a8c27 Add ProhibitOverlap option to PeriodicConfig 2016-01-07 11:19:46 -08: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 ea799b88cb merge 2015-12-23 18:26:39 -08:00
Alex Dadgar ddf392c6be User specifiable kill timeout and operator configurable max 2015-12-22 16:10:30 -08:00
Diptanu Choudhury 20766e9c5d Merge branch 'master' of github.com:hashicorp/nomad 2015-12-18 12:33:54 -08:00
Diptanu Choudhury df08a412a8 Fixed the job spec test 2015-12-18 12:33:38 -08:00
Alex Dadgar 3bdd372413 Merge pull request #594 from hashicorp/f-restart-policy
More restart policy options and consolidate batch/service restart tracker
2015-12-18 12:25:13 -08:00
Diptanu Choudhury de94f7c535 lowercasing err messages 2015-12-18 12:19:47 -08:00
Alex Dadgar 31c3e12957 merge 2015-12-18 12:17:13 -08:00
Diptanu Choudhury ebd2fdb930 Changed the error message 2015-12-18 12:07:27 -08:00
Diptanu Choudhury c04f1e8d82 Throwing an error if ports are not named 2015-12-18 10:56:45 -08:00
Diptanu Choudhury 3c4e15264c Fixed the jobspec tests 2015-12-14 15:09:57 -08:00
Alex Dadgar 6bb489734a fix perser 2015-12-01 08:59:00 -08:00
Alex Dadgar a9b95bca2d Add Periodic config to job 2015-12-01 08:59:00 -08:00
Diptanu Choudhury e25c260694 Merge pull request #509 from hashicorp/f-service-name
Implemented interpolation of Job, Task group and Task Names in Service Name
2015-11-26 23:28:13 -08:00
Diptanu Choudhury fa0ab6ba08 Added a method to expand service names 2015-11-26 18:30:46 -08:00
Diptanu Choudhury f71a664faa Fixed a few tests 2015-11-26 00:26:10 -08:00
Diptanu Choudhury 9cf10d64a5 making the service checks in service pointers 2015-11-25 17:44:57 -08:00
Alex Dadgar 3ef9602c69 Extract bool conversion to method 2015-11-25 12:33:56 -08:00
Alex Dadgar 3209c46b51 Accept string or bool 2015-11-25 12:25:21 -08:00
Diptanu Choudhury dd875f1d2b Fixed the test errors 2015-11-18 02:07:07 -08:00
Diptanu Choudhury 404810043a Added the implementation of consul client 2015-11-18 00:50:45 -08:00
Diptanu Choudhury e413e882a6 Fixed typo 2015-11-17 17:12:21 -08:00
Diptanu Choudhury 2c3d5935b4 Added a test which makes sure parsing fails if more than one service block has non empty names 2015-11-17 17:06:29 -08:00
Diptanu Choudhury c02c2312d4 Adding prefix to user defined name and forcing id to be blank during parsing 2015-11-17 16:44:05 -08:00
Diptanu Choudhury f98a6a384e Validating that services are named explicitly if there is more than one Service defn 2015-11-17 16:08:03 -08:00
Diptanu Choudhury 1672252226 Autogenerating names of service 2015-11-17 16:05:03 -08:00
Diptanu Choudhury 04d2d6921d Exctacted a method for parsing checks 2015-11-17 15:13:25 -08:00
Diptanu Choudhury cd7a974a7f Exctracted the logic of parsing services in a method 2015-11-17 15:13:25 -08:00
Diptanu Choudhury 36520a90b3 Added tests for service block parsing 2015-11-17 15:13:25 -08:00
Diptanu Choudhury eb19967ce4 Added the parsling logic for service blocks 2015-11-17 15:13:25 -08:00
Mitchell Hashimoto f9e7e974d7 jobspec: add test for types of nested configs 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 6c0b3264c8 Fixed the tests for jobspec 2015-11-16 13:10:57 -08:00
Diptanu Choudhury b083a3f307 Fixed the parsing and encoding logic 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
Mitchell Hashimoto 3f8765f532 jobspec: new HCL API 2015-11-08 22:57:39 -08:00
Diptanu Choudhury 8133aa413a Fixed grammer of comment 2015-10-30 21:06:56 -07:00
Diptanu Choudhury edcd677df6 Re-using toDuration while figuring out staggertime 2015-10-30 16:49:08 -07:00
Diptanu Choudhury 99c24e5243 Sending restart policies to the Nomad API 2015-10-30 16:32:05 -07:00
Diptanu Choudhury c883f9496a Added support for parsing restart blocks 2015-10-30 15:51:39 -07:00
Alex Dadgar 3cdbfc010f Remove weight and hard/soft fields from constraint 2015-10-27 14:31:14 -07:00
Alex Dadgar fd9c2baf02 Constants for constraints and renaming to use undescore instead of camel 2015-10-26 13:47:56 -07:00
Alex Dadgar 9541e102b6 add new test fixture 2015-10-22 17:41:35 -07:00
Alex Dadgar ecc4f98f3a Change "unique" to "distinctHosts" 2015-10-22 17:40:41 -07:00
Alex Dadgar 80753629fc Add test fixture 2015-10-22 16:52:00 -07:00
Alex Dadgar 602baa37ce Documentation and making unique first class in the constraint block 2015-10-22 16:37:20 -07:00
Armon Dadgar 8d53dfc740 jobspec: adding sugar for regexp constraint 2015-10-11 15:37:50 -04:00
Armon Dadgar 8406bfede5 jobspec: adding sugar for version constraint 2015-10-11 15:20:58 -04:00
Antoine POPINEAU 2c9cc76a7d Forgot to fix my test after testing it. 2015-10-02 17:46:55 -07:00
Antoine POPINEAU 722141bfa6 Added a jobspec directive to specify envvars. Updated Docker driver to use them accordingly. 2015-10-02 17:46:55 -07:00
Chris Bednarski 2be5a4767c Actually add the fixture 2015-09-25 19:01:29 -07:00
Chris Bednarski f1f285fb10 Fix case sensitivity issue; also verify we don't get collisions 2015-09-25 18:59:17 -07:00
Chris Bednarski e6253b21f6 Put that back too. 2015-09-25 18:45:39 -07:00
Chris Bednarski 1654d08fca Add docker ports; change to uppercase examples and tests 2015-09-23 18:01:08 -07:00
Chris Bednarski f37dedc3bc Changed to uppercase + numbers + underscores; updated docs 2015-09-23 15:19:31 -07:00
Chris Bednarski 4fec4ad0e1 Fail parsing a job if the Dynamic Port labels are malformed 2015-09-23 13:44:08 -07:00
Chris Bednarski 168c959497 Added named ports 2015-09-22 13:59:16 -07:00
Armon Dadgar 0d9042808c jobspec: default count of group to 1 if not specified 2015-09-20 15:08:29 -07:00
Armon Dadgar 86fd4632fe jobspec: default constraints to hard, parse update configuration 2015-09-20 15:08:29 -07:00
Ryan Uber d0d5ef53cb jobspec: default job ID also comes from key 2015-09-16 22:06:55 -07:00
Mitchell Hashimoto 4aefc3ebb2 jobspec: defaults 2015-09-14 18:34:26 -07:00
Mitchell Hashimoto 2e9e738036 jobspec: validate singletons 2015-09-14 18:30:26 -07:00
Mitchell Hashimoto 9c9e3ed083 jobspec: parse network resources 2015-09-14 18:27:37 -07:00
Mitchell Hashimoto 42a36b300b jobspec: parse regions 2015-09-14 18:18:49 -07:00
Mitchell Hashimoto 03e94249e2 jobspec: task level constraints 2015-09-14 17:50:34 -07:00
Mitchell Hashimoto c4fdfa2897 jobspec: job-level constraints 2015-09-14 17:48:11 -07:00
Mitchell Hashimoto 8a006f2711 jobspec: parse job-level meta fields 2015-09-14 17:46:52 -07:00
Mitchell Hashimoto 9bd1c2f177 jobspec: parsing 2015-09-14 17:43:42 -07:00