Commit graph

17524 commits

Author SHA1 Message Date
Michael Lange 18cf59b22f Test coverage for the host volumes table 2020-02-13 17:11:25 -08:00
Michael Lange 1e40837731 Add a Host Volumes table to the client detail page 2020-02-13 17:11:24 -08:00
Michael Lange 849c996887 Data layer for Host Volumes in the UI 2020-02-13 17:11:22 -08:00
Mahmood Ali cf53ee57cd remove unused dropButLastChannel 2020-02-13 18:56:53 -05:00
Mahmood Ali fd51982018 tests: Avoid StartAsLeader raft config flag
It's being deprecated
2020-02-13 18:56:53 -05:00
Mahmood Ali 367133a399 Use latest raft patterns 2020-02-13 18:56:52 -05:00
Mahmood Ali f12bf4a629 update raft to latest 2020-02-13 18:56:52 -05:00
Seth Hoenig 447e8398f6
Merge pull request #7148 from hashicorp/doc-consul-eto
docs: document enable_tag_override field for service stanzas
2020-02-13 14:42:22 -06:00
Seth Hoenig 217a78f1b5 docs: document enable_tag_override field for service stanzas 2020-02-13 13:23:51 -06:00
Seth Hoenig 543354aabe
Merge pull request #7106 from hashicorp/f-ctag-override
client: enable configuring enable_tag_override for services
2020-02-13 12:34:48 -06:00
Michael Schurter 8c332a3757
Merge pull request #7102 from hashicorp/test-limits
Fix some race conditions and flaky tests
2020-02-13 10:19:11 -08:00
Michael Schurter e437dd219c
Merge pull request #7128 from hashicorp/docs-prior-art-check
docs: explicitly callout checking for prior art
2020-02-13 10:01:38 -08:00
Mahmood Ali bc70beeb4a
Merge pull request #7044 from hashicorp/f-use-multiplexv2
rpc: Use MultiplexV2 for connections
2020-02-13 12:07:20 -05:00
Drew Bailey 24a5d36fcf
Merge pull request #7112 from hashicorp/f-include-pro-tag
include pro tag in serveral oss.go files
2020-02-13 11:26:41 -05:00
Seth Hoenig 938f00ca60 docs: fix references to consul environment variable
We mistakenly reference `CONSUL_TOKEN` where we should be using `CONSUL_HTTP_TOKEN`.
There is one case where `CONSUL_TOKEN` is correct - client.mdx there is a list of
default filtered environment variables, which for legacy reasons `CONSUL_TOKEN` will
always be one.
2020-02-13 10:02:36 -06:00
Seth Hoenig 6b9fd8d269 docs: upgrade-specific notes on CHT filtering 2020-02-13 09:44:47 -06:00
Kyle MacDonald 9fd1ae0df7 website: fix 'edit this page' path 2020-02-13 10:22:49 -05:00
Jeff Escalante edf8907eae
Merge pull request #7092 - New Website 2020-02-12 16:11:49 -05:00
Seth Hoenig 2829b4cd23
Merge pull request #7129 from hashicorp/b-consistent-ct-name
command: use consistent CONSUL_HTTP_TOKEN name
2020-02-12 12:27:46 -06:00
Seth Hoenig ab112e576f
Merge pull request #7127 from hashicorp/b-unset-ct
nomad: unset consul token on job register
2020-02-12 12:25:58 -06:00
Seth Hoenig f17bbb8cc4 docs: update changelog mentioning consul token passthrough 2020-02-12 12:24:04 -06:00
Seth Hoenig 7f33b92e0b command: use consistent CONSUL_HTTP_TOKEN name
Consul CLI uses CONSUL_HTTP_TOKEN, so Nomad should use the same.
Note that consul-template uses CONSUL_TOKEN, which Nomad also uses,
so be careful to preserve any reference to that in the consul-template
context.
2020-02-12 10:42:33 -06:00
Seth Hoenig ce50345b7a nomad: assert consul token is unset on job register in tests 2020-02-12 10:17:42 -06:00
Michael Schurter a04facf0ef docs: explicitly callout checking for prior art
Also normalize formatting.
2020-02-12 08:07:07 -08:00
Seth Hoenig 02151dee45 nomad: unset consul token on job register 2020-02-12 09:58:51 -06:00
Jeff Escalante 93c64890fb
add changes from #7078 2020-02-11 16:31:14 -05:00
Jeff Escalante 3d865efef9
add release candidate from #7120 2020-02-11 16:31:14 -05:00
Jeff Escalante 0bef886c2b
add changes from #7121 2020-02-11 15:39:03 -05:00
Drew Bailey bf397c411e
Merge pull request #7122 from hashicorp/pprof/changelog
change log for remote pprof endpoints
2020-02-11 14:32:54 -05:00
Drew Bailey 5e3f0d0e03
change log for remote pprof endpoints 2020-02-11 14:30:55 -05:00
Mahmood Ali 8a217e1102
Merge pull request #7108 from hashicorp/ch-windows-binaries
changelog windows binaries being signed
2020-02-10 16:57:16 -05:00
Drew Bailey 6bd6c6638c
include pro tag in serveral oss.go files 2020-02-10 15:56:14 -05:00
Jeff Escalante 569bead286
fix a couple more links 2020-02-10 14:20:59 -05:00
Jeff Escalante ba72fc57c2
css fix 2020-02-10 14:00:38 -05:00
Jeff Escalante 59ac380af4
add link checker, fix a redirect, remove unused component 2020-02-10 13:56:55 -05:00
Jeff Escalante db2fba3a82
update deps to add minor style fixes 2020-02-10 12:46:31 -05:00
Jeff Escalante a3fa93cea7
remove extra redirect file 2020-02-10 12:44:34 -05:00
Mahmood Ali 0e1baf0c22 changelog windows binaries being signed
Note that 0.10.4, nomad windows binaries will be signed.

[ci skip]
2020-02-10 09:11:00 -05:00
Seth Hoenig 0e44094d1a client: enable configuring enable_tag_override for services
Consul provides a feature of Service Definitions where the tags
associated with a service can be modified through the Catalog API,
overriding the value(s) configured in the agent's service configuration.

To enable this feature, the flag enable_tag_override must be configured
in the service definition.

Previously, Nomad did not allow configuring this flag, and thus the default
value of false was used. Now, it is configurable.

Because Nomad itself acts as a state machine around the the service definitions
of the tasks it manages, it's worth describing what happens when this feature
is enabled and why.

Consider the basic case where there is no Nomad, and your service is provided
to consul as a boring JSON file. The ultimate source of truth for the definition
of that service is the file, and is stored in the agent. Later, Consul performs
"anti-entropy" which synchronizes the Catalog (stored only the leaders). Then
with enable_tag_override=true, the tags field is available for "external"
modification through the Catalog API (rather than directly configuring the
service definition file, or using the Agent API). The important observation
is that if the service definition ever changes (i.e. the file is changed &
config reloaded OR the Agent API is used to modify the service), those
"external" tag values are thrown away, and the new service definition is
once again the source of truth.

In the Nomad case, Nomad itself is the source of truth over the Agent in
the same way the JSON file was the source of truth in the example above.
That means any time Nomad sets a new service definition, any externally
configured tags are going to be replaced. When does this happen? Only on
major lifecycle events, for example when a task is modified because of an
updated job spec from the 'nomad job run <existing>' command. Otherwise,
Nomad's periodic re-sync's with Consul will now no longer try to restore
the externally modified tag values (as long as enable_tag_override=true).

Fixes #2057
2020-02-10 08:00:55 -06:00
Michael Schurter 65d38d9255 test: fix flaky TestHTTP_FreshClientAllocMetrics 2020-02-07 15:50:53 -08:00
Michael Schurter 9d3093fa31 test: fix missing agent shutdowns 2020-02-07 15:50:53 -08:00
Michael Schurter d96ceee8c5 testagent: fix case where agent would retry forever 2020-02-07 15:50:53 -08:00
Michael Schurter 3170dfd452 test: simplify code 2020-02-07 15:50:53 -08:00
Michael Schurter e903501e65 test: improve error messages when failing 2020-02-07 15:50:53 -08:00
Michael Schurter 63032917fc test: allow goroutine to exit even if test blocks 2020-02-07 15:50:53 -08:00
Michael Schurter c5073f61a7 test: add timeout to ease debugging 2020-02-07 15:50:53 -08:00
Michael Schurter 9905dec6a3 test: workaround limits race 2020-02-07 15:50:53 -08:00
Michael Schurter 19a1932bbb test: wait longer than timeout
The 1s timeout raced with the 1s deadline it was trying to detect.
2020-02-07 15:50:53 -08:00
Michael Schurter fd81208db7 test: fix flaky health test
Test set Agent.client=nil which prevented the client from being
shutdown. This leaked goroutines and could cause panics due to the
leaked client goroutines logging after their parent test had finished.

Removed ACLs from the server test because I couldn't get it to work with
the test agent, and it tested very little.
2020-02-07 15:50:53 -08:00
Michael Schurter 14c5ef3a8d test: fix race around reused default rpc addr
The default RPC addr was a global which is fine for normal runtime use
when it only has a single user.

However many tests modify it and cause races. Follow our convention of
returning defaults from funcs instead of using globals.
2020-02-07 15:50:53 -08:00