Commit Graph

708 Commits

Author SHA1 Message Date
Michael Schurter
63a8307255 Move ScriptExecutor to driver 2017-04-19 12:42:47 -07:00
Michael Schurter
b4e40efa15 Fix shutdown when consul is down 2017-04-19 12:42:47 -07:00
Michael Schurter
80882f3e0e Switch ServiceClient to synchronizing state
Previously it applied a stream of operations. Reconciling state is less
complex and error prone at the cost of slightly higher CPU/memory usage.
2017-04-19 12:42:47 -07:00
Michael Schurter
b6937912d8 Add UpdateTask method instead of Remove/Add 2017-04-19 12:42:47 -07:00
Michael Schurter
7930d35925 Remove some lies 2017-04-19 12:42:47 -07:00
Michael Schurter
e13b149628 Remove unused syncInterval 2017-04-19 12:42:47 -07:00
Michael Schurter
10cb924b2c Refactor Consul Syncer into new ServiceClient
Fixes #2478 #2474 #1995 #2294

The new client only handles agent and task service advertisement. Server
discovery is mostly unchanged.

The Nomad client agent now handles all Consul operations instead of the
executor handling task related operations. When upgrading from an
earlier version of Nomad existing executors will be told to deregister
from Consul so that the Nomad agent can re-register the task's services
and checks.

Drivers - other than qemu - now support an Exec method for executing
abritrary commands in a task's environment. This is used to implement
script checks.

Interfaces are used extensively to avoid interacting with Consul in
tests that don't assert any Consul related behavior.
2017-04-19 12:42:47 -07:00
Alex Dadgar
ea15f4b05e Diff code fixes 2017-04-16 16:54:40 -07:00
Alex Dadgar
950171f094 non-purge deregisters 2017-04-15 17:08:05 -07:00
Alex Dadgar
330800f683 Agent API + api package 2017-04-15 17:08:05 -07:00
Alex Dadgar
0c94d4822b Upsert Job Histories 2017-04-15 17:08:05 -07:00
Adam Stankiewicz
4d465091dd Remove unnecessary parameter from NewHTTPServer 2017-04-10 16:24:49 +02:00
Alex Dadgar
d212f6fe94 Track task start/finish time & improve logs errors
This PR adds tracking to when a task starts and finishes and the logs
API takes advantage of this and returns better errors when asking for
logs that do not exist.
2017-03-31 16:14:11 -07:00
Alex Dadgar
6ac999a5e5 Flush logs on err 2017-03-14 14:48:39 -07:00
Alex Dadgar
bfebe1afdc rename cpu_total_compute and docs 2017-03-14 14:15:49 -07:00
Alex Dadgar
36dc330737 Various fixes
This PR:
* Uses Go 1.8 executable lookup
* Stores any err message from stats init method
* Allows overriding of Cpu Compute for hosts where it can't be detected
2017-03-14 12:56:31 -07:00
Jonathan Ballet
5fb0b30500 Allow to advertise 127.0.0.1 in non-dev mode if explicitly configured 2017-03-13 23:05:06 +01:00
Jonathan Ballet
a61b70bd75 Default to private IP advertise address in non-dev mode 2017-03-13 23:01:11 +01:00
Jonathan Ballet
02af50f832 Parse template before splitting host/port
Ref: a33af1ca0b (r105444568)
2017-03-13 21:40:37 +01:00
Alex Dadgar
701537e9c5 Limit parallelism during garbage collection
This PR introduces a parallelism limit during garbage collection. This
is used to avoid large resource usage spikes if garbage collecting many
allocations at once.
2017-03-10 16:27:00 -08:00
Alex Dadgar
8eb9a5d819 Make validate work without a Nomad agent 2017-03-03 15:02:03 -08:00
Alex Dadgar
8b1359c2d0 Fix canonicalization of services 2017-03-01 15:30:01 -08:00
Alex Dadgar
07f7e19578 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
b6991b3357 Allow random UUID 2017-02-27 13:42:37 -08:00
Alex Dadgar
e2d2911d06 Allow specification of eval/job gc threshold 2017-02-27 11:58:10 -08:00
Jonathan Ballet
a33af1ca0b Add support for late binding to IP addresses using go-sockaddr/template 2017-02-26 23:28:23 +01:00
Sean Chittenden
6fc901a8f3 Change the default display name from the Circonus Instance ID to
`Nomad`.

The display name is already scoped to target/host.
2017-02-24 14:59:11 -08:00
Alex Dadgar
85a59d3852 Merge pull request #2347 from hashicorp/b-parse
Remove defaulting from parse and fix tests
2017-02-22 18:42:43 -08:00
Alex Dadgar
6c1673cbc5 Revert "Deregistering non-existant job returns 404" 2017-02-22 18:22:02 -08:00
Alex Dadgar
89b259b089 Fix wrong types 2017-02-22 16:56:51 -08:00
Alex Dadgar
eaa57878d9 Vendor + test fixes 2017-02-22 15:55:33 -08:00
Alex Dadgar
1ba2875393 Deregistering non-existant job returns 404
Fixes https://github.com/hashicorp/nomad/issues/2326
2017-02-20 20:10:21 -08:00
Alex Dadgar
ee76b78922 rebase 2017-02-20 16:43:28 -08:00
Alex Dadgar
69aa5db628 Add leader and timezone to conversion 2017-02-20 16:36:41 -08:00
Alex Dadgar
503746c7c4 Add defaulting test and fix types on the agent job endpoint tests 2017-02-20 15:53:56 -08:00
Alex Dadgar
76ab4b6448 Merge branch 'master' into refactor-parser 2017-02-20 15:13:21 -08:00
Alex Dadgar
ea79a1475f Fix detection of missing port 2017-02-16 13:52:39 -08:00
Diptanu Choudhury
592bc73a4c Making the job register endpoint use api.Job 2017-02-16 13:52:39 -08:00
Diptanu Choudhury
5502a669e8 Added tests 2017-02-16 13:52:39 -08:00
Diptanu Choudhury
f551dcb83e Making the job spec return api.Job 2017-02-16 13:52:39 -08:00
Alex Dadgar
03feb2efad Fix escaping 2017-02-15 15:14:47 -08:00
Alex Dadgar
24995a6749 Operator command/endpoint/documentation 2017-02-09 18:04:46 -08:00
David Bresson
a49759f1b8 avoid nil pointer dereference 2017-02-03 08:39:57 -08:00
David Bresson
1a6c67d106 extend config merge test to test merging to empty config 2017-02-03 08:35:18 -08:00
Diptanu Choudhury
9d44247b11 Merging GC related config values 2017-02-02 13:38:11 -08:00
Alex Dadgar
acf9e58064 Merge pull request #2278 from hashicorp/b-consul-merge
Fix Consul Config Merging/Copying
2017-02-02 11:39:26 -08:00
Alex Dadgar
d212d40b18 Fix Consul Config Merging/Copying
This PR fixes config merging/copying code.

Fixes https://github.com/hashicorp/nomad/issues/2264
2017-02-02 11:12:07 -08:00
Alex Dadgar
258ed556ba Vault Client on Server handles SIGHUP
This PR allows the Vault client on the server to handle a SIGHUP. This
allows updating the Vault token and any other configuration without
downtime.
2017-02-01 14:24:10 -08:00
Diptanu Choudhury
6b0a1ebb58 Making the GC related fields tunable 2017-01-31 15:51:20 -08:00
Alex Dadgar
9b11f269e3 Add command line flag for create-from-role 2017-01-27 14:11:34 -08:00