open-nomad/client
James Rasell e2a2ea68fc
client: accommodate Consul 1.14.0 gRPC and agent self changes. (#15309)
* client: accommodate Consul 1.14.0 gRPC and agent self changes.

Consul 1.14.0 changed the way in which gRPC listeners are
configured, particularly when using TLS. Prior to the change, a
single listener was responsible for handling plain-text and
encrypted gRPC requests. In 1.14.0 and beyond, separate listeners
will be used for each, defaulting to 8502 and 8503 for plain-text
and TLS respectively.

The change means that Nomad’s Consul Connect integration would not
work when integrated with Consul clusters using TLS and running
1.14.0 or greater.

The Nomad Consul fingerprinter identifies the gRPC port Consul has
exposed using the "DebugConfig.GRPCPort" value from Consul’s
“/v1/agent/self” endpoint. In Consul 1.14.0 and greater, this only
represents the plain-text gRPC port which is likely to be disbaled
in clusters running TLS. In order to fix this issue, Nomad now
takes into account the Consul version and configured scheme to
optionally use “DebugConfig.GRPCTLSPort” value from Consul’s agent
self return.

The “consul_grcp_socket” allocrunner hook has also been updated so
that the fingerprinted gRPC port attribute is passed in. This
provides a better fallback method, when the operator does not
configure the “consul.grpc_address” option.

* docs: modify Consul Connect entries to detail 1.14.0 changes.

* changelog: add entry for #15309

* fixup: tidy tests and clean version match from review feedback.

* fixup: use strings tolower func.
2022-11-21 09:19:09 -06:00
..
allocdir helpers: lockfree lookup of nobody user on unix systems (#14866) 2022-10-11 08:38:05 -05:00
allochealth 2 small data race fixes in logmon and check tests (#14538) 2022-09-13 12:54:06 -07:00
allocrunner client: accommodate Consul 1.14.0 gRPC and agent self changes. (#15309) 2022-11-21 09:19:09 -06:00
allocwatcher test: use T.TempDir to create temporary test directory (#12853) 2022-05-12 11:42:40 -04:00
config acl: correctly resolve ACL roles within client cache. (#14922) 2022-10-20 09:37:32 +02:00
consul Merge branch 'main' into f-1.3-boogie-nights 2022-03-23 09:41:25 +01:00
devicemanager cleanup: replace TypeToPtr helper methods with pointer.Of (#14151) 2022-08-17 18:26:34 +02:00
dynamicplugins build: run gofmt on all go source files 2022-08-16 11:14:11 -05:00
fingerprint client: accommodate Consul 1.14.0 gRPC and agent self changes. (#15309) 2022-11-21 09:19:09 -06:00
interfaces artifact: fix numerous go-getter security issues 2022-05-24 16:29:39 -04:00
lib client: ensure minimal cgroup controllers enabled (#15027) 2022-10-24 16:08:54 -05:00
logmon 2 small data race fixes in logmon and check tests (#14538) 2022-09-13 12:54:06 -07:00
pluginmanager cleanup more helper updates (#14638) 2022-09-21 14:53:25 -05:00
servers feat: remove dependency to consul/lib 2022-04-09 13:22:44 +02:00
serviceregistration build: update linters (#15063) 2022-10-27 15:02:30 -05:00
state cleanup more helper updates (#14638) 2022-09-21 14:53:25 -05:00
stats ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
structs client: add support for checks in nomad services 2022-07-12 17:09:50 -05:00
taskenv connect: interpolate task env in config values (#14445) 2022-09-02 15:00:28 -04:00
testutil client: cgroups v2 code review followup 2022-03-24 13:40:42 -05:00
vaultclient ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
acl.go acl: correctly resolve ACL roles within client cache. (#14922) 2022-10-20 09:37:32 +02:00
acl_test.go acl: correctly resolve ACL roles within client cache. (#14922) 2022-10-20 09:37:32 +02:00
agent_endpoint.go client: fix data races in config handling (#14139) 2022-08-18 16:32:04 -07:00
agent_endpoint_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
alloc_endpoint.go Task lifecycle restart (#14127) 2022-08-24 17:43:07 -04:00
alloc_endpoint_test.go Task lifecycle restart (#14127) 2022-08-24 17:43:07 -04:00
alloc_watcher_e2e_test.go job_hooks: add implicit constraint when using Consul for services. (#12602) 2022-04-20 14:09:13 +02:00
client.go Update alloc after reconnect and enforece client heartbeat order (#15068) 2022-11-04 16:25:11 -04:00
client_stats_endpoint.go Server side impl + touch ups 2018-02-15 13:59:02 -08:00
client_stats_endpoint_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
client_test.go api: remove mapstructure tags fromPort struct (#12916) 2022-11-08 11:26:28 +01:00
csi_endpoint.go CSI: allow updates to volumes on re-registration (#12167) 2022-03-07 11:06:59 -05:00
csi_endpoint_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
driver_manager_test.go client: fix data races in config handling (#14139) 2022-08-18 16:32:04 -07:00
enterprise_client_oss.go gofmt all the files 2021-10-01 10:14:28 -04:00
fingerprint_manager.go fingerprint: lengthen Vault check after seen (#14693) 2022-09-26 12:14:19 -07:00
fingerprint_manager_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
fs_endpoint.go cleanup: replace TypeToPtr helper methods with pointer.Of (#14151) 2022-08-17 18:26:34 +02:00
fs_endpoint_test.go raw_exec: make raw exec driver work with cgroups v2 2022-04-04 16:11:38 -05:00
gc.go chore: fix incorrect docstring formatting. 2021-08-30 11:08:12 +02:00
gc_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
heartbeatstop.go client: fix race in heartbeat tracker (#14119) 2022-08-16 09:41:08 -07:00
heartbeatstop_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
node_updater.go fix: batchFirstFingerprints does not update device on node after v1.3.5 (#15125) 2022-11-03 16:31:39 -05:00
rpc.go client: retry RPC call when no server is available (#15140) 2022-11-04 14:09:39 -04:00
rpc_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
testing.go client: fix data races in config handling (#14139) 2022-08-18 16:32:04 -07:00
util.go Revert "client: defensive against getting stale alloc updates" 2020-06-19 15:39:44 -04:00