Commit graph

17494 commits

Author SHA1 Message Date
Jasmine Dahilig 0c44d0017d account for client restarts in task lifecycle hooks 2020-03-21 17:52:51 -04:00
Jasmine Dahilig 81d051d7e8 fix bug in lifecycle scheduler test mocks 2020-03-21 17:52:51 -04:00
Jasmine Dahilig 4ab39318cc clean up restart conditions and restart tests for task lifecycle 2020-03-21 17:52:50 -04:00
Jasmine Dahilig 7064deaafb put lifecycle nil and empty checks in api Canonicalize 2020-03-21 17:52:50 -04:00
Jasmine Dahilig 39b5eb245c remove api dependency on structs package, copy lifecycle defaults to api package 2020-03-21 17:52:49 -04:00
Jasmine Dahilig 34f8055f39 remove logging debug line from cli 2020-03-21 17:52:49 -04:00
Jasmine Dahilig b7f08c9d13 add appropriate lifecycle deadline default of 120s 2020-03-21 17:52:48 -04:00
Jasmine Dahilig 0cc9212a54 add test cases for scheduler alloc placement with lifecycle resources 2020-03-21 17:52:47 -04:00
Jasmine Dahilig 0d2988652c add lifecycle job mock 2020-03-21 17:52:47 -04:00
Jasmine Dahilig 3e4e8f2b02 add allocfit test for lifecycles 2020-03-21 17:52:46 -04:00
Jasmine Dahilig c27223207c update task hook coordinator tests 2020-03-21 17:52:46 -04:00
Mahmood Ali b880607bad update scheduler to account for hooks 2020-03-21 17:52:45 -04:00
Mahmood Ali c0f59ea06e minor improvement 2020-03-21 17:52:44 -04:00
Jasmine Dahilig bc78d6b64d add lifecycle info to alloc status short 2020-03-21 17:52:42 -04:00
Jasmine Dahilig 12393f90e7 add test for lifecycle coordinator 2020-03-21 17:52:42 -04:00
Jasmine Dahilig f6e58d6dad add canonicalize in the right place 2020-03-21 17:52:41 -04:00
Jasmine Dahilig b9a258ed7b incorporate lifecycle into restart tracker 2020-03-21 17:52:40 -04:00
Jasmine Dahilig 4498c8c24f add canonicalization 2020-03-21 17:52:39 -04:00
Jasmine Dahilig 67262d841b add validation tests and more validation 2020-03-21 17:52:39 -04:00
Mahmood Ali d7354b8920 Add a coordinator for alloc runners 2020-03-21 17:52:38 -04:00
Mahmood Ali 214d128bd9 it's running now 2020-03-21 17:52:37 -04:00
Jasmine Dahilig fc13fa9739 change TaskLifecycle RunLevel to Hook and add Deadline time duration 2020-03-21 17:52:37 -04:00
Mahmood Ali 4ebeac721a update structs with lifecycle 2020-03-21 17:52:36 -04:00
Mahmood Ali 3b5786ddb3 add lifecycle to api and parser 2020-03-21 17:52:36 -04:00
Mahmood Ali 9568553d7e Detect network mode change
Mark job as updated if network mode changed.
2020-03-21 16:51:10 -04:00
Mahmood Ali 8371fe63eb
Merge pull request #7408 from greut/vault-sdk
vendor: vault api and sdk
2020-03-21 14:52:49 -04:00
Yoan Blanc 9507509e09
fixup! vendor: add golang.org/x/crypto/ed25519
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-21 18:03:09 +01:00
Yoan Blanc 1c395710ea
vendor: add golang.org/x/crypto/ed25519
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-21 18:00:41 +01:00
Yoan Blanc 67692789b7
vendor: vault api and sdk
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-21 17:57:48 +01:00
Mahmood Ali 1c4a76cf7d
Merge pull request #7407 from greut/runc-v1.0.0-rc7
Runc v1.0.0 rc7
2020-03-21 11:08:31 -04:00
Yoan Blanc 17b013617c
vendor: opencontainrs/runc v1.0.0-rc7
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-21 15:43:02 +01:00
Yoan Blanc 7c2859ec95
remove all opencontainers/runc
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-21 15:33:30 +01:00
Mahmood Ali bdf8820bce
Merge pull request #7403 from hashicorp/tests-deflake-TestRPC_Limits_Streaming
Deflake TestRPC_Limits_Streaming test
2020-03-20 18:57:48 -04:00
Mahmood Ali 53e20e5cc2 Deflake TestRPC_Limits_Streaming test
The test starts enough connections to hit the limit, then closes the
connection and immediately starts one expecting the new one to succeed.

We must wait until the server side recognizes the connection
closing and free up a limits slot.  The current test attempts to achieve
that by waiting to get an error on conn.Read, however, this error is
returned from local client without waiting for server update.

As such, I change the logic so it retries on connection rejection but
force the first non-EOF failure to be a deadline error.
2020-03-20 17:21:43 -04:00
Mahmood Ali 294b798790
Merge pull request #7402 from hashicorp/km.docker-env-debug
update website docker job to use proper git url
2020-03-20 15:53:40 -04:00
Kyle MacDonald d92ae83575 update website docker job to use proper git url 2020-03-20 15:43:36 -04:00
Mahmood Ali 6271a5aaaf
Merge pull request #7391 from greut/bump-containerd-console
vendor: update containerd/console
2020-03-20 07:47:01 -04:00
Yoan Blanc 379bb0589e
vendor: update containerd/console
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-20 08:27:10 +01:00
Michael Schurter 83890f019d
Merge pull request #7254 from jboero/patch-1
Completed a ppc64le build for testing.
2020-03-19 11:07:20 -07:00
Mahmood Ali 6bc16d3ae9
Merge pull request #7385 from greut/direct-vendors
vendors: avoid vendors from docker's vendors
2020-03-19 11:53:22 -04:00
Yoan Blanc f9c7e6e12e
vendors: avoir vendors from docker's vendors
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-19 14:31:58 +01:00
James Rasell ef469e1a6e
Merge pull request #7379 from hashicorp/b-fix-agent-cmd--dev-connect-help
cli: fix indentation issue with -dev-connect agent help output.
2020-03-19 08:34:45 +01:00
Mahmood Ali 2cd852ca00
Merge pull request #7369 from DerekStrickland/ambiguous-use-of-filter
clarify log output
2020-03-18 14:44:17 -04:00
Drew Bailey 384861297b
Merge pull request #7269 from hashicorp/checklist-jobspec-update
add note to check for job diff
2020-03-18 11:18:39 -04:00
James Rasell 1e4b534473
Merge pull request #7313 from hashicorp/docs-gh-7294
docs: explicitly detail IAM instance profile S3 artifact auth.
2020-03-18 15:43:41 +01:00
Mahmood Ali bb8f4e130a
Merge pull request #7370 from hashicorp/b-leader-forwarding-client-detection
server: node connections must not be forwarded
2020-03-18 08:29:48 -04:00
Mahmood Ali 0da7130a1a Protect against args being modified 2020-03-18 08:11:16 -04:00
James Rasell e3d14cc634
cli: fix indentation issue with -dev-connect agent help output. 2020-03-18 12:25:20 +01:00
Dane Harrigan 9b522e31e8
Update consul-connect.mdx
HCL grpc key doesn't need quotes
2020-03-17 14:31:36 -07:00
Mahmood Ali 52fd31af80 server: node connections must not be forwarded
This fixes a bug where a forwarded node update request may be assumed
to be the actual direct client connection if the server just lost
leadership.

When a nomad non-leader server receives a Node.UpdateStatus request, it
forwards the RPC request to the leader, and holds on the request
Yamux connection in a cache to allow for server<->client forwarding.

When the leader handles the request, it must differentiate between a
forwarded connection vs the actual connection.  This is done in
https://github.com/hashicorp/nomad/blob/v0.10.4/nomad/node_endpoint.go#L412

Now, consider if the non-leader server forwards to the connection to a
recently deposed nomad leader, which in turn forwards the RPC request to
the new leader.

Without this change, the deposed leader will mistake the forwarded
connection for the actual client connection and cache it mapped to the
client ID.  If the server attempts to connect to that client, it will
attempt to start a connection/session to the other server instead and
the call will hang forever.

This change ensures that we only add node connection mapping if the
request is not a forwarded request, regardless of circumstances.
2020-03-17 16:39:01 -04:00