Commit Graph

1594 Commits

Author SHA1 Message Date
Michael Schurter
afd5bca566 Move service hash logic to Service.Hash method 2017-12-08 12:03:43 -08:00
Michael Schurter
65bfbe54c8 Hash fields used in task service IDs
Fixes #3620

Previously we concatenated tags into task service IDs. This could break
deregistration of tag names that contained double //s like some Fabio
tags.

This change breaks service ID backward compatibility so on upgrade all
users services and checks will be removed and re-added with new IDs.

This change has the side effect of including all service fields in the
ID's hash, so we no longer have to track PortLabel and AddressMode
changes independently.
2017-12-08 12:03:43 -08:00
Michael Schurter
fa5faa5a09 Prevent using port 0 with address_mode=driver 2017-12-08 12:03:43 -08:00
Michael Schurter
b999358892 Validate port label for host address mode
Also skip getting an address for script checks which don't use them.

Fixed a weird invalid reserved port in a TaskRunner test helper as well
as a problem with our mock Alloc/Job. Hopefully the latter doesn't cause
other tests to fail, but we were referencing an invalid PortLabel and
just not catching it before.
2017-12-08 12:03:43 -08:00
Michael Schurter
74e7d57b75 Test Consul from TaskRunner thoroughly
Rely less on the mockConsulServiceClient because the real
consul.ServiceClient needs all the testing it can get!
2017-12-08 12:03:00 -08:00
Michael Schurter
25569282b9 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
Michael Schurter
0921368fc9 Merge pull request #3608 from hashicorp/b-3342-windows-log-leak
Fix bug in log framer only affecting Windows
2017-12-08 10:59:26 -08:00
Chelsea Holland Komlo
b1eda324c6 code review fixups 2017-12-06 16:37:47 -05:00
Chelsea Holland Komlo
359613e115 fix up basic test
add conversion for KillSignal for api/struct representation of task
2017-12-06 14:36:45 -05:00
Preetha
f27d0ddcef Merge pull request #3618 from hashicorp/b_fix_ns_inspect_test
Fix Test: Inspect returns json, not cli formatted output
2017-12-05 12:41:04 -06:00
Michael Schurter
b53f24b19e Merge pull request #3563 from hashicorp/b-snapshot-atomic
Atomic Snapshotting / Sticky Volume Migration
2017-12-05 09:16:33 -08:00
Charlie Voiselle
4c263413cc Inspect returns json, not cli formatted output 2017-12-05 12:04:11 -05:00
Alex Dadgar
f8807cee5d Merge pull request #3555 from PagerDuty/fix-loop-on-sigpipe
Do not emit logs on SIGPIPE since logging service could be unavailable
2017-12-04 14:11:05 -08:00
Alex Dadgar
74ec709629 Emit hostname as a label 2017-12-04 10:42:31 -08:00
Jens Herrmann
0fe9b07ac2 Fix typos in metric names. #3610 2017-12-01 15:24:14 +01:00
Michael Schurter
b4bacd641d Add check for Windows ECONNRESET 2017-11-30 21:30:20 -08:00
Michael Schurter
13a69bda82 Add defensive check to safeguard from future #3342s
I hate adding "this should never happen" checks, but causing a tight
loop that OOMs Nomad is just too easy in this code otherwise.
2017-11-30 20:37:13 -08:00
Michael Schurter
ac3fffc118 Fix race in framer and improperly returned err
Fixes #3342

Two bugs were fixed:

* Closing the StreamFramer's exitCh before setting the error means other
  goroutines blocked on exitCh closing could see the error as nil. This
  was *not* observered.
* parseFramerError on Windows would fall through and return an
  improperly captured nil err variable. There's no need for
  parseFramerError to be a closure which fixes the confusion.
2017-11-30 17:42:53 -08:00
Michael Schurter
50b335f3f0 Add comment and normalize err check ordering
as per PR comments
2017-11-29 17:26:11 -08:00
Michael Schurter
e3256ec4ee Check for error file when receiving snapshots 2017-11-29 17:26:11 -08:00
Michael Schurter
a05862dbdf Destroy partially migrated alloc dirs
Test that snapshot errors don't return a valid tar currently fails.
2017-11-29 17:26:11 -08:00
Charlie Voiselle
8356bfd5d5 gofmt changes 2017-11-29 19:43:19 -05:00
Charlie Voiselle
1592bf5b0c Handle exact namespace match properly when also matched as prefix
This fixes an issue with the nomad namespace inspect and nomad namespace status commands failing to run for namespaces whose names are the start of another namespace's name: for example, foo and foobar. If the argument matches the first possibility returned by prefix exactly, that namespace will be targetted. If no exact match occurs, the behavior is unchanged.
2017-11-29 19:40:08 -05:00
Michael Lange
2926920f26 Add CORS headers to client fs endpoints 2017-11-21 11:22:42 -08:00
Preetha Appan
bbeb658831 Populate DisplayMessage in various http endpoints that return allocations, plus unit tests. 2017-11-17 14:53:26 -06:00
Alex Dadgar
ea0eba6e46 Merge pull request #3559 from hashicorp/b-metrics
Don't emit metrics for non-running tasks
2017-11-17 10:33:23 -08:00
Preetha Appan
c0e79a164d Fix flaky test TestPrettyTimeDiff 2017-11-16 09:48:14 -06:00
Alex Dadgar
d427ab70c1 Only publish metric when the task is running and dev mode publishes metrics 2017-11-15 13:21:06 -08:00
Max Timchenko
46493d8670 Do not emit logs on SIGPIPE since logging service could be unavailable
This should fix https://github.com/hashicorp/nomad/issues/3554
2017-11-15 18:01:41 +02:00
Preetha
ab3712d367 Merge pull request #3550 from hashicorp/b-pretty-diff-0s
Handle edge case when allocation create/modify time difference is les…
2017-11-14 20:33:05 -06:00
Preetha Appan
9e5f12f8b4 Declare time.Now once to prevent flakiness 2017-11-14 20:32:02 -06:00
Chelsea Komlo
fa9fd4422c Nomad agent reload TLS configuration on SIGHUP (#3479)
* Allow server TLS configuration to be reloaded via SIGHUP

* dynamic tls reloading for nomad agents

* code cleanup and refactoring

* ensure keyloader is initialized, add comments

* allow downgrading from TLS

* initalize keyloader if necessary

* integration test for tls reload

* fix up test to assert success on reloaded TLS configuration

* failure in loading a new TLS config should remain at current

Reload only the config if agent is already using TLS

* reload agent configuration before specific server/client

lock keyloader before loading/caching a new certificate

* introduce a get-or-set method for keyloader

* fixups from code review

* fix up linting errors

* fixups from code review

* add lock for config updates; improve copy of tls config

* GetCertificate only reloads certificates dynamically for the server

* config updates/copies should be on agent

* improve http integration test

* simplify agent reloading storing a local copy of config

* reuse the same keyloader when reloading

* Test that server and client get reloaded but keep keyloader

* Keyloader exposes GetClientCertificate as well for outgoing connections

* Fix spelling

* correct changelog style
2017-11-14 17:53:23 -08:00
Preetha Appan
bc833c9c8c Handle edge case when allocation create/modify time difference is less than a second ago. 2017-11-14 16:40:34 -06:00
Preetha Appan
4e307587f0 Fixes bug with display message logic due to deprecating GenericSource. Also added more test cases to cover a bunch more edge cases 2017-11-13 11:14:57 -06:00
Michael Lange
344d1dfe57 generated UI routes 2017-11-10 13:29:17 -08:00
Michael Lange
2c04edfd59 Remove the connect-src self restriction for the UI 2017-11-10 13:28:11 -08:00
Alex Dadgar
90272052ef format 2017-11-10 12:47:59 -08:00
Alex Dadgar
0592629547 Merge pull request #3504 from james-powis/fix_consul_address
[3503] adding consul-address flag to command.go
2017-11-06 15:46:01 -08:00
James Rasell
9f595ae797 Fix panic on every run of the keyring command.
This change removes the flag token declaration within keyring.go
which caused a flag redefined panic on every command run as the
token flag is specified in the command meta.
2017-11-06 10:15:42 +00:00
James Powis
6d3cc25097 [3503] adding consul-address flag to command.go 2017-11-04 18:05:20 -06:00
Preetha Appan
b3631f3d32 Remove event GenericSource, and address other code review comments. Also added deprecation info in comments. 2017-11-03 10:10:06 -05:00
Preetha Appan
6bc2553eb7 Address some code review comments 2017-11-03 09:13:01 -05:00
Preetha Appan
d63e693679 Move logic for determinic event display message to task_runner, added two new fields DisplayMessage and Details. 2017-11-03 09:13:01 -05:00
Alex Dadgar
53dbc4f127 remove atlas 2017-11-02 11:27:21 -07:00
Preetha
9dfb2faac0 Merge pull request #3484 from hashicorp/b-nomad-0.7.1
merge nomad 0.7.1 branch
2017-11-01 16:50:37 -05:00
Chelsea Holland Komlo
5e85b5a090 add rpc_upgrade_mode as config option for tls upgrades 2017-11-01 15:19:52 -05:00
Michael Schurter
ec43315e13 Fix regression by returning error on unknown alloc 2017-11-01 15:16:38 -05:00
Michael Schurter
9c1e595e2e Fix GC'd alloc tracking
The Client.allocs map now contains all AllocRunners again, not just
un-GC'd AllocRunners. Client.allocs is only pruned when the server GCs
allocs.

Also stops logging "marked for GC" twice.
2017-11-01 15:16:38 -05:00
Preetha Appan
33475d169a New pretty printer that imitates the short form from time.Duration.String() with approximated values for days and beyond. Used in cli output for allocation create/modify times 2017-11-01 15:16:38 -05:00
Diptanu Choudhury
3e1d24876e Adding support for tagged metrics 2017-11-01 13:15:06 -07:00