Commit Graph

15410 Commits

Author SHA1 Message Date
Mahmood Ali
52ffcbe37d changelog GH-5954 2019-07-15 10:55:31 +08:00
Mahmood Ali
e129c41ab2 Merge pull request #5954 from hashicorp/b-fix-streaming-rpc-tls
rpc: use tls wrapped connection for streaming rpc
2019-07-13 07:29:48 +08:00
Mahmood Ali
0a58242d55 update changelog 2019-07-13 00:47:43 +08:00
Mahmood Ali
b0d98d17b5 rpc: use tls wrapped connection for streaming rpc
This ensures that server-to-server streaming RPC calls use the tls
wrapped connections.

Prior to this, `streamingRpcImpl` function uses tls for setting header
and invoking the rpc method, but returns unwrapped tls connection.
Thus, streaming writes fail with tls errors.

This tls streaming bug existed since 0.8.0[1], but PR #5654[2]
exacerbated it in 0.9.2.  Prior to PR #5654, nomad client used to
shuffle servers at every heartbeat -- `servers.Manager.setServers`[3]
always shuffled servers and was called by heartbeat code[4].  Shuffling
servers meant that a nomad client would heartbeat and establish a
connection against all nomad servers eventually.  When handling
streaming RPC calls, nomad servers used these local connection to
communicate directly to the client.  The server-to-server forwarding
logic was left mostly unexercised.

PR #5654 means that a nomad client may connect to a single server only
and caused the server-to-server forward streaming RPC code to get
exercised more and unearthed the problem.

[1] https://github.com/hashicorp/nomad/blob/v0.8.0/nomad/rpc.go#L501-L515
[2] https://github.com/hashicorp/nomad/pull/5654
[3] https://github.com/hashicorp/nomad/blob/v0.9.1/client/servers/manager.go#L198-L216
[4] https://github.com/hashicorp/nomad/blob/v0.9.1/client/client.go#L1603
2019-07-12 14:41:44 +08:00
Mahmood Ali
a6604f8926 rpc: add positive tests for server streaming RPC 2019-07-12 14:32:52 +08:00
Omar Khawaja
88c03d0888 TF config enable services (#5947)
* enable vault, consul, and nomad services to make them persistent after reboot

* update AMI
2019-07-11 22:36:58 +02:00
Preetha
c031f666c9 Merge pull request #5912 from hashicorp/f-systemd-nofile
systemd: set a high but non-infinite fd limit
2019-07-11 12:31:12 -05:00
Lang Martin
8da0b91287 Merge pull request #5784 from hashicorp/b-batch-node-dereg
batch node deregistration
2019-07-10 14:24:54 -04:00
Lang Martin
17f49512ee Changelog 2019-07-10 13:56:57 -04:00
Lang Martin
e0edc7d93e node_endpoint preserve both messages as rpcs and in raft 2019-07-10 13:56:20 -04:00
Lang Martin
5eac719133 core_sched add compat comment for later removal 2019-07-10 13:56:20 -04:00
Lang Martin
675f750038 structs drop deprecation warning, revert unnecessary comment change 2019-07-10 13:56:20 -04:00
Lang Martin
9bdf35ad4d NodeDeregisterBatch -> NodeBatchDeregister match JobBatch pattern 2019-07-10 13:56:20 -04:00
Lang Martin
3ad8a2498c state_store error if called without node_ids 2019-07-10 13:56:20 -04:00
Lang Martin
838460e70c fsm new NodeDeregisterBatchRequestType sorted at the end of the case 2019-07-10 13:56:20 -04:00
Lang Martin
0deb209d99 checklist NodeDeregisterBatchRequestType must go at the end 2019-07-10 13:56:20 -04:00
Lang Martin
f5632ba98a structs NodeDeregisterBatchRequestType must go at the end 2019-07-10 13:56:20 -04:00
Lang Martin
c20c232eab fsm label batch_deregister_node metrics explicitly
Co-Authored-By: Mahmood Ali <mahmood@notnoop.com>
2019-07-10 13:56:20 -04:00
Lang Martin
c915bf08a0 new file: contributing/checklist-rpc-endpoint.md 2019-07-10 13:56:20 -04:00
Lang Martin
4d11c32e19 core_sched use the new rpc names 2019-07-10 13:56:20 -04:00
Lang Martin
9c42d03366 fsm support new NodeDeregisterBatchRequest 2019-07-10 13:56:20 -04:00
Lang Martin
23fdadfd95 node endpoint support new NodeDeregisterBatchRequest 2019-07-10 13:56:19 -04:00
Lang Martin
f32dceb934 structs add NodeDeregisterBatchRequest 2019-07-10 13:56:19 -04:00
Lang Martin
bc5e5cfc65 node_endpoint argument setup 2019-07-10 13:56:19 -04:00
Lang Martin
3e097c4245 fsm return an error on both NodeDeregisterRequest fields set 2019-07-10 13:56:19 -04:00
Lang Martin
5921e6ff8f fsm variable names for consistency 2019-07-10 13:56:19 -04:00
Lang Martin
d55e79efd1 node_endpoint raft store then shutdown, test deprecation 2019-07-10 13:56:19 -04:00
Lang Martin
48c1859b55 util simplify partitionAll 2019-07-10 13:56:19 -04:00
Lang Martin
aa5193baf9 core_sched check ServersMeetMinimumVersion 2019-07-10 13:56:19 -04:00
Lang Martin
97a76afe21 fsm honor new and old style NodeDeregisterRequests 2019-07-10 13:56:19 -04:00
Lang Martin
7258fabfc8 structs add back NodeDeregisterRequest.NodeID, compatibility 2019-07-10 13:56:19 -04:00
Lang Martin
3c97bdcb82 core_sched check ServersMeetMinimumVersion, send old node deregister 2019-07-10 13:56:19 -04:00
Lang Martin
5810a09709 state_store just one index update, test deletion 2019-07-10 13:56:19 -04:00
Lang Martin
fbd4c25e05 node_endpoint improve error messages 2019-07-10 13:56:19 -04:00
Lang Martin
0dd5335a70 state_store improve error messages 2019-07-10 13:56:19 -04:00
Lang Martin
94cd86f377 drainer watch_nodes_test batch of 1 2019-07-10 13:56:19 -04:00
Lang Martin
64fd8b3e9f node_endpoint deregister the batch of nodes 2019-07-10 13:56:19 -04:00
Lang Martin
f685b00367 fsm NodeDeregisterRequest is now a batch 2019-07-10 13:56:19 -04:00
Lang Martin
fbc7fb80a5 core_sched batch node deregistration requests 2019-07-10 13:56:19 -04:00
Lang Martin
851691181d util partitionAll for paging 2019-07-10 13:56:19 -04:00
Lang Martin
47203067c3 state_store DeleteNode operates on a batch of ids 2019-07-10 13:56:19 -04:00
Lang Martin
4771de646f struct NodeDeregisterRequest has a batch of NodeIDs 2019-07-10 13:56:19 -04:00
Preetha Appan
acd762d865 update changelog 2019-07-10 11:45:28 -05:00
Preetha Appan
16648b3e70 Test file for detect content type that satisfies linter and encoding 2019-07-10 11:42:04 -05:00
Preetha
abc747dfad Merge pull request #5943 from hashicorp/b-allocrunner-killtimeout
Populate task event struct with kill timeout
2019-07-10 11:21:28 -05:00
Preetha Appan
7de4018656 code review feedback 2019-07-10 10:41:06 -05:00
Michael Schurter
5b84adb829 Merge pull request #5933 from hashicorp/f-connect-initial-docs
First pass at a Consul Connect example docs
2019-07-10 14:37:35 +02:00
Michael Schurter
c467e42553 website: link to nick's talk 2019-07-10 09:20:37 +02:00
Michael Schurter
ed8e880f59 website: mention cni plugin requirement 2019-07-10 09:13:10 +02:00
Michael Schurter
88d35efc8f website: Add link to connect tp download 2019-07-09 17:01:35 +02:00