Commit Graph

752 Commits

Author SHA1 Message Date
Alex Dadgar 2b17dcdf78 Zero IOPS by default 2016-02-02 16:13:25 -08:00
Alex Dadgar 30ccc2f46d Merge pull request #742 from hashicorp/b-restart-attempts
Restart policy handling / validation adjustments
2016-02-02 15:47:07 -08:00
Ryan Uber 198a1a3cd4 structs: more restart policy validation 2016-02-02 14:32:30 -08:00
Alex Dadgar 4748bfd869 Tests 2016-02-02 13:50:30 -08:00
Alex Dadgar f83b26029e Fix test 2016-02-02 13:27:50 -08:00
Alex Dadgar 9c9fe2ea2d Network check 2016-02-02 13:27:50 -08:00
Alex Dadgar 5142f1e4c0 Validate min resources and default them 2016-02-02 13:27:50 -08:00
Alex Dadgar 54aebfd329 Merge pull request #731 from hashicorp/f-reduce-client-alloc-pulls
Client only pulls update allocations from server
2016-02-02 13:26:36 -08:00
Alex Dadgar ea00dbd576 Comment on AllocModifyIndex 2016-02-01 18:15:12 -08:00
Alex Dadgar a72d39bd04 Don't share task state with the alloc in the task runner 2016-02-01 17:47:53 -08:00
Alex Dadgar 2d98c0eadd Fix double pull with introduction of AllocModifyIndex 2016-02-01 15:43:59 -08:00
Alex Dadgar 36df3aaac7 Remove running, system scheduler, and fix tg overriding eligibility 2016-01-31 20:56:52 -08:00
Alex Dadgar c55eb0816c Address comments 2016-01-31 18:46:45 -08:00
Alex Dadgar 20c6c3e8a5 Disable blocked eval tracker when leadership is lost 2016-01-31 18:04:45 -08:00
Alex Dadgar 52a27e84c5 Leader reaps and cancels duplicate evals 2016-01-31 18:04:45 -08:00
Alex Dadgar dc978066e2 dedup blocked evals by job id 2016-01-31 18:04:45 -08:00
Alex Dadgar dd19b7e848 Buffered unblock 2016-01-31 18:04:45 -08:00
Alex Dadgar 151fe5ed88 Make computed node class a string and add versioning 2016-01-31 18:04:45 -08:00
Alex Dadgar 3601acfe08 Rename counters 2016-01-31 18:04:45 -08:00
Alex Dadgar 74135f02a4 Blocked Eval tracker 2016-01-31 18:04:45 -08:00
Alex Dadgar 9045d7e989 Schedulers create blocked eval if there are failed allocations 2016-01-31 18:04:45 -08:00
Alex Dadgar f8b99e7da3 Merge pull request #722 from iverberk/f-double-alloc-update
Add new RPC call to fetch a lightweight list of allocation information.
2016-01-30 16:39:09 -08:00
Ivo Verberk 679387fe23 Add new RPC call to fetch a lightweight list of allocation information. 2016-01-29 15:29:52 +01:00
Alex Dadgar 37d188ea73 Merge pull request #707 from hashicorp/h-stack-constraint-serialization
Memoized constraint string
2016-01-28 10:09:46 -08:00
Diptanu Choudhury 4efcca20b1 Fixed a comment 2016-01-27 12:53:24 -08:00
Diptanu Choudhury 1e9c817a52 Added the cli for listing alloc dir 2016-01-27 12:53:23 -08:00
Alex Dadgar 2ca09feec2 Fix vet 2016-01-27 09:23:57 -08:00
Alex Dadgar 566615f3f2 Fix GetNode test 2016-01-26 17:57:53 -08:00
Alex Dadgar 9a8871249d EvalEligibility unit tests and simplify escaped constraint tracking 2016-01-26 17:34:41 -08:00
Alex Dadgar 9dc22532e5 Respond to comments 2016-01-26 16:43:42 -08:00
Alex Dadgar 1bd9bece62 Change the unique namespace on the node 2016-01-26 15:16:43 -08:00
Alex Dadgar 2b7d42bf9b FeasibilityWrapper uses computed node class eligibility to call feasibility checks minimally 2016-01-26 15:16:43 -08:00
Alex Dadgar 5d23025df8 EvalEligibility in context 2016-01-26 15:16:43 -08:00
Alex Dadgar 61f201afb2 Rebase 2016-01-26 15:16:43 -08:00
Alex Dadgar a85800188c Respond to comments 2016-01-26 14:55:38 -08:00
Alex Dadgar 9f5ab0cb87 Memoized constraint string 2016-01-26 13:45:03 -08:00
Alex Dadgar d5c77cd4a4 Update client fingerprinters 2016-01-26 10:08:01 -08:00
Alex Dadgar 9a28f8ee18 Update to use just unique namespace prefix 2016-01-26 10:08:01 -08:00
Alex Dadgar d7ec5156e4 Fix test 2016-01-26 10:08:01 -08:00
Alex Dadgar 73f770fe22 Small cleanup 2016-01-26 10:08:01 -08:00
Alex Dadgar ccb932a9f0 Have server store unique attrs in glob format 2016-01-26 10:08:01 -08:00
Alex Dadgar d646903a47 ComputedNode classes 2016-01-26 10:08:01 -08:00
Alex Dadgar 260b50c2b3 Mark evals from periodic as triggered by a periodic job 2016-01-21 14:21:58 -08:00
Alex Dadgar 248b20ae24 Merge pull request #675 from nautsio/f-cli-short-ids
Shorten CLI identifiers
2016-01-19 15:11:41 -08:00
Alex Dadgar d4c1cd2e63 comments 2016-01-19 11:45:51 -08:00
Ivo Verberk 91a9f2c4ce Shorten CLI identifiers
* Truncate all UUID identifiers to eight characters by default
* Refactor the node identifier to an auto-generated UUID
* Created and updated tests and mocks
2016-01-14 21:57:43 +01:00
Alex Dadgar 80dd30b03d Add force spawn endpoint 2016-01-13 10:19:53 -08:00
Alex Dadgar 41efdcb1c3 Add JobModifyIndex 2016-01-12 09:50:33 -08:00
Alex Dadgar 62a820196f Address comments 2016-01-11 17:48:32 -08:00
Alex Dadgar 9f4ec35f43 Set job status in state store 2016-01-11 17:48:32 -08:00
Alex Dadgar 80aa6d3007 Update JobStatus's 2016-01-11 17:48:32 -08:00
Alex Dadgar a73e1863d5 Merge branch 'master' of https://github.com/hashicorp/nomad 2016-01-07 20:13:19 -08:00
Alex Dadgar 877630e7d1 Debug log for skipping overlapping periodic jobs 2016-01-07 20:12:07 -08:00
Diptanu Choudhury 76b5f32298 Changed error messages of script checks 2016-01-07 18:03:44 -08:00
Alex Dadgar f843e95cbf Check parent id of prefix jobs and special case the output if no child job has been launched 2016-01-07 14:43:55 -08:00
Alex Dadgar ce5a7b73ed periodic status 2016-01-07 14:25:17 -08:00
Alex Dadgar ecdee3b414 Fix tests 2016-01-07 13:32:45 -08:00
Alex Dadgar 19faa4bb00 Remove parent index 2016-01-07 12:54:41 -08:00
Alex Dadgar f289bdc76b Remove debug message 2016-01-07 11:23:44 -08:00
Alex Dadgar 24fd4a8c27 Add ProhibitOverlap option to PeriodicConfig 2016-01-07 11:19:46 -08:00
Alex Dadgar ce22c049db Merge pull request #575 from nautsio/f-short-ids
Allow lookups based on short identifiers
2016-01-06 14:36:19 -08:00
Alex Dadgar 36752b9ed4 Store the available nodes in the alloc metric 2016-01-04 12:07:33 -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 cf27c43a35 Validate that the kill timeout is positive 2016-01-04 11:41:31 -08:00
Ivo Verberk 596938014e Fix test (due to merge) 2015-12-24 21:23:05 +01:00
Ivo Verberk fd177f4c6f Bring up-to-date with master 2015-12-24 21:16:32 +01:00
Ivo Verberk 0c01ca49e6 Refactoring continued
* Refactor other cli commands to new design
* Add PrefixList method to api package
* Add more tests
2015-12-24 20:53:37 +01:00
Alex Dadgar 9244037bba Only add periodic job insertion time once 2015-12-23 19:02:31 -08:00
Alex Dadgar e87f3e6ca7 Simplify periodic nextLaunch, dispatch and run 2015-12-23 18:54:51 -08:00
Alex Dadgar bff2768060 Use desired launch time in periodic launch table 2015-12-23 18:26:39 -08:00
Alex Dadgar 9acc05f732 Fix error message 2015-12-23 18:26:39 -08:00
Alex Dadgar bf2aa9f733 Always remove periodic jobs in fsm 2015-12-23 18:26:39 -08:00
Alex Dadgar 68506c7163 Remove parent index 2015-12-23 18:26:39 -08:00
Alex Dadgar e6f9a5bbb3 fix vet 2015-12-23 18:26:39 -08:00
Alex Dadgar d073285982 use conditional index 2015-12-23 18:26:39 -08:00
Alex Dadgar e3231171b8 Fix deadlock and test 2015-12-23 18:26:39 -08:00
Alex Dadgar 6bc0737970 Unix timestamps not UnixNano 2015-12-23 18:26:39 -08:00
Alex Dadgar 3a400432dc Always add jobs to periodic tracker 2015-12-23 18:26:39 -08:00
Alex Dadgar b3e87b6719 Remove the periodicRunner interface and pass the server as an interface to the periodicDispatcher 2015-12-23 18:26:39 -08:00
Alex Dadgar a60783a4ca Simplify run function and add nextLaunch test 2015-12-23 18:26:39 -08:00
Alex Dadgar 8165c1fc22 Improve restorePeriodicDispatcher documentation (and bug fix) 2015-12-23 18:26:39 -08:00
Alex Dadgar b5d59c8d89 Fix test 2015-12-23 18:26:39 -08:00
Alex Dadgar 49dd0dc461 fixes from review 2015-12-23 18:26:39 -08:00
Alex Dadgar 0a8c49f36b Remove incorrect comment 2015-12-23 18:26:39 -08:00
Alex Dadgar 642219ba5d Race condition fixed 2015-12-23 18:26:39 -08:00
Alex Dadgar 37c1f56921 Snapshot and restore 2015-12-23 18:26:39 -08:00
Alex Dadgar ca65daf4c0 move created evals to the test package 2015-12-23 18:26:39 -08:00
Alex Dadgar ea799b88cb merge 2015-12-23 18:26:39 -08:00
Alex Dadgar 610cfe4b34 Small fixes and test fixes 2015-12-23 18:26:39 -08:00
Alex Dadgar f6769c3d96 Leader election restore, add structs to api jobs 2015-12-23 18:26:39 -08:00
Alex Dadgar 9a7b363b94 Add periodic index to job table 2015-12-23 18:26:39 -08:00
Alex Dadgar 670cc50a02 merge 2015-12-23 18:26:39 -08:00
Alex Dadgar a892d61ae7 FSM integration 2015-12-23 18:26:39 -08:00
Alex Dadgar 8c484875ce Job endpoint handles periodic jobs 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
Ivo Verberk 7838b2a57c Refactoring
* Reverted changes to get methods
* Added prefix query parameter
* Updated node status to use prefix based searching
* Fixed tests
* Removed truncation logic
2015-12-22 23:44:33 +01:00
Ivo Verberk 24af3a3f96 Bring up-to-date with master 2015-12-21 13:04:46 +01:00
Alex Dadgar 46eb604375 Add TaskStates to mock.Alloc. Fixes some test race conditions 2015-12-20 17:30:45 -08:00
Ivo Verberk 07bd2f6ca5 Some comment corrections and additions 2015-12-20 18:10:48 +01:00
Ivo Verberk 33f73a1e8e Short identifiers functionality
* Use go-memdb prefix indexer for lookups
* Add Job lookups
* Update state store with new ByIDPrefix get methods
* Call new methods when exact lookup fails or is not applicable
2015-12-19 21:55:28 +01:00
Ivo Verberk 1d294df9ec Bring up-to-date with master 2015-12-19 21:55:10 +01:00
Alex Dadgar 423d16908e Go vet 2015-12-18 12:24:53 -08:00
Alex Dadgar 55cc8c61b3 fix 2015-12-18 12:17:50 -08:00
Alex Dadgar ea119b7297 Update restart policy in mock 2015-12-18 12:17:18 -08:00
Alex Dadgar f1c41ed4cf Fix mock 2015-12-18 12:17:18 -08:00
Alex Dadgar 31c3e12957 merge 2015-12-18 12:17:13 -08:00
Alex Dadgar e2193c5c81 Merge pull request #586 from hashicorp/f-job-gc
Add garbage collection to jobs
2015-12-18 11:21:50 -08:00
Alex Dadgar fa71d95a8f Copy the task states from the client update 2015-12-17 15:33:57 -08:00
Alex Dadgar 92823b71a8 merge 2015-12-16 15:01:15 -08:00
Alex Dadgar 561ccdb441 Use client state 2015-12-16 15:00:45 -08:00
Alex Dadgar 7bec30c2b3 Small cleanup 2015-12-16 15:00:45 -08:00
Alex Dadgar 6840bcb0bd Don't allow users to set gc and make batch gc 2015-12-16 15:00:45 -08:00
Alex Dadgar 197d9f977c Fix test 2015-12-16 15:00:45 -08:00
Alex Dadgar f1d88bdf86 Remove user-specifiable gc threshold 2015-12-16 15:00:45 -08:00
Alex Dadgar 2218a79815 Add garbage collection to jobs 2015-12-16 15:00:45 -08:00
Diptanu Choudhury 0cc1275782 Added a test to make sure services no longer present are being removed 2015-12-15 10:43:56 -08:00
Diptanu Choudhury ba5561cae0 Making sure existing ids for services are not re-generated 2015-12-15 09:14:32 -08:00
Diptanu Choudhury 7a8acd32e4 Populating service ids only if allocations can be placed for system jobs 2015-12-15 08:38:18 -08:00
Diptanu Choudhury b7f556fabc Changed some comments 2015-12-14 18:05:58 -08:00
Diptanu Choudhury 5090d27adc Fixed the job endpoints test 2015-12-14 17:17:29 -08:00
Diptanu Choudhury 2eb03e1d23 Renamed serviceId to serviceID 2015-12-14 15:57:56 -08:00
Diptanu Choudhury 6b6d74e2eb Fixed tests 2015-12-14 15:47:01 -08:00
Diptanu Choudhury 76486d71e2 Making the allocs hold service ids 2015-12-14 15:08:35 -08:00
Diptanu Choudhury 0c4b76e0ef Changing the prefix of the service 2015-12-14 11:14:22 -08:00
Diptanu Choudhury f596669118 Changing the prefix of the service id 2015-12-14 08:54:34 -08:00
Ivo Verberk acbbaf3e78 Allow lookups based on short identifiers
This change introduces the ability to specify identifiers for jobs,
allocs, evals and nodes on the command line with as little as one
character, provided that it uniquely identifies the resource. An error
with the possible results will be provided when the short identifier
has multiple results.
2015-12-12 18:28:20 +01:00
Diptanu Choudhury f932c5f9df Refactored test and added some comments 2015-12-11 14:14:04 -08:00
Diptanu Choudhury 6665efdc36 Adding the changes to structs 2015-12-11 14:06:51 -08:00
Diptanu Choudhury a53e035b49 Deregister services and checks which are managed by Nomad 2015-12-11 14:06:51 -08:00
Diptanu Choudhury 4395438400 Changing naming and debug message schemes 2015-12-10 16:47:43 -08:00
Diptanu Choudhury 87233649b9 Copied generated id and names 2015-12-10 16:38:29 -08:00
Diptanu Choudhury b3c161a7d5 Generate check names, check id and service id on the server side 2015-12-10 16:07:17 -08:00
Chris Hines baf740c43a Fix test to tolerate multiple pending plans with the same time stamp. 2015-12-03 10:52:53 -05:00
Alex Dadgar 7f8c2c6e95 Add IsPeriodic 2015-12-01 08:59:00 -08:00
Alex Dadgar 583425a326 Fix validate 2015-12-01 08:59:00 -08:00
Alex Dadgar a9b95bca2d Add Periodic config to job 2015-12-01 08:59:00 -08:00
Alex Dadgar b039f963f0 Merge pull request #514 from kaskavalci/master
Fixed git vet error on formatting
2015-12-01 08:58:19 -08:00
Halil Kaskavalci ab2979ea21 Fixed typo on variable name 2015-12-01 08:13:02 +02:00
Halil Kaskavalci 8957a47ec4 Fixed git vet error on formatting 2015-11-30 10:27:26 +00:00
Armon Dadgar 5ea5344773 nomad: shrink the recv buffer of idle streams 2015-11-27 17:24:21 -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 9139078241 Updated the example nomad job spec to use task group name in the service name 2015-11-26 23:27:33 -08:00
Diptanu Choudhury 0bd34215c5 Fixing the GetJob test 2015-11-26 19:43:02 -08:00
Diptanu Choudhury c2073ef292 Added docs to the ExpandName method 2015-11-26 19:29:11 -08:00
Diptanu Choudhury cbfe727100 Making the Job expand all service names during registration 2015-11-26 19:26:00 -08:00
Diptanu Choudhury fbe3bd0724 Fixed some docs 2015-11-26 13:47:02 -08:00
Diptanu Choudhury fd1b8a0336 Fixing tests 2015-11-26 12:40:42 -08:00
Diptanu Choudhury 9cf10d64a5 making the service checks in service pointers 2015-11-25 17:44:57 -08:00
Diptanu Choudhury f66069a08d Using the service id in check hash 2015-11-25 15:17:27 -08:00
Diptanu Choudhury b35819f10a Merge pull request #498 from hashicorp/b-consul-check
Handle updates of Service and Check definitions
2015-11-25 13:17:26 -08:00
Diptanu Choudhury 28a21061ce Implemented syncing of checks 2015-11-24 18:39:38 -08:00
Ryan Uber d983f266b0 nomad: sort regions before returning 2015-11-24 13:15:01 -08:00
Diptanu Choudhury a3d5b266a0 Registering Checks independently 2015-11-24 10:02:33 -08:00
Diptanu Choudhury f9c3d16b9f Removing un-used imports 2015-11-24 10:02:33 -08:00
Diptanu Choudhury 5549c1d2dc Generating the sha1 for a check 2015-11-24 10:02:33 -08:00
Ryan Uber a230a70cc7 nomad: testing region list 2015-11-23 22:27:07 -08:00
Ryan Uber 34b54bb05f nomad: leader forwarding not needed for regions 2015-11-23 22:27:07 -08:00
Ryan Uber 39b2c3a07b nomad: use a read-only lock 2015-11-23 22:27:07 -08:00
Ryan Uber ad6b55a37a nomad: support listing regions 2015-11-23 22:27:03 -08:00
Alex Dadgar 136a181c22 Merge pull request #493 from hashicorp/f-eval-broker-blocking-dequeue
Make a zero timeout for eval_broker.Dequeue() block
2015-11-23 18:26:52 -08:00
Alex Dadgar 9b99eeeec4 Remove shared reference to network resources across allocs 2015-11-23 16:32:30 -08:00
Alex Dadgar cbb1992929 Make a zero timeout for eval_broker.Dequeue() block 2015-11-23 11:59:49 -08:00
Alex Dadgar af7d896c2a nil-pointer dereference with empty timeout Dequeue 2015-11-20 16:49:55 -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
Alex Dadgar f84fc88b60 Register gob type and remove slicetype 2015-11-18 15:26:38 -08:00
Alex Dadgar 965087e266 remove args from mock 2015-11-18 15:19:18 -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
Diptanu Choudhury d65d1bdfac Merge pull request #455 from hashicorp/f-consul-check
Refactor consul check
2015-11-18 14:33:34 -08:00
Diptanu Choudhury bb7f29f023 Changed the http field to path 2015-11-18 14:29:55 -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 07a5ceed9c Use one msgpack codec and have it decode []string in nil interfaces 2015-11-18 13:15:13 -08:00
Alex Dadgar 282509eb9b More test fixes 2015-11-18 12:30:42 -08:00
Diptanu Choudhury 21bb78f948 Removing support for scrpt checks 2015-11-18 10:26:24 -08:00
Diptanu Choudhury 404810043a Added the implementation of consul client 2015-11-18 00:50:45 -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 c73e17ae18 Adding some sanity checks to checks 2015-11-17 15:13:25 -08:00
Diptanu Choudhury 04d2d6921d Exctacted a method for parsing checks 2015-11-17 15:13:25 -08:00
Diptanu Choudhury 7eba8be4ff Added some docs for the service and servicecheck type 2015-11-17 15:13:25 -08:00
Diptanu Choudhury aabd27d901 Added the protocol field for check 2015-11-17 15:13:25 -08:00
Diptanu Choudhury 4c8dd666dc Added validation to the checks 2015-11-17 15:13:25 -08:00
Diptanu Choudhury a367314127 Added the fields for http and script checks 2015-11-17 15:13:25 -08:00
Diptanu Choudhury 0d9e34bea4 Added the service definitions in api structs too 2015-11-17 15:13:25 -08:00
Diptanu Choudhury ead6e09a79 Added comments 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
Diptanu Choudhury a9acc52b4e Fixed validation logic for restart policy when interval is zero 2015-11-17 02:56:11 -05:00
Chris Bednarski 9f40143684 Merge branch 'master' into f-port-labels 2015-11-16 16:02:38 -08:00
Alex Dadgar ea0edd8c2f Change SetExitMessage from taking a string to an error 2015-11-16 15:14:21 -08:00
Alex Dadgar 6133917e33 Change event type to string 2015-11-16 15:14:21 -08:00
Alex Dadgar 82f51601db Track Task State in the client and capture Wait results 2015-11-16 15:14:21 -08:00
Alex Dadgar bdf7497f1b Initialize task state in allocation sent by scheduler 2015-11-16 15:14:21 -08:00
Alex Dadgar 359251744f Add TaskState to alloc 2015-11-16 15:14:21 -08:00
Alex Dadgar ef417120a5 Avoid map[interface{}]interface{} conversions in the msgpack codec 2015-11-16 14:25:19 -08:00
Alex Dadgar 0b70879554 RawToSting true for structs codec. Needed for encoding strings in nil interfaces 2015-11-16 13:10:57 -08:00
Diptanu Choudhury 0238e27d5d Fixed the structs test 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 aae6047edc DRYed the code 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 a56c808ff8 Update Nomad Client/Server RPC codecs to use custom msgpackHandle 2015-11-15 18:27:02 -08:00
Diptanu Choudhury dac4a036e4 Making sure a Task Group has a restart policy 2015-11-11 15:10:39 -08:00
Alex Dadgar 81420277fd System jobs use Service restart policy 2015-11-06 12:38:25 -08:00