Commit Graph

1268 Commits

Author SHA1 Message Date
Frank Schröder 892fa89399 Add datacenter to catalog node API (#2917)
This patch stores the datacenter of a node in memdb
and exposes it via the API in all places where a Node
structure is returned.

 * /catalog/nodes
 * /catalog/node/:node
 * /catalog/service/:service
 * /health/service/:service
 * /query/:uuid/execute
2017-04-18 05:02:24 -07:00
James Phillips 002c70c4d4
Adds guard in session ACL check in case session is not found.
Fixes #2624.
2017-04-13 15:03:17 -07:00
James Phillips 6055a7c0bd
Switches to reliable Raft leader notifications.
This fixes #2896 by switching to the `notifyCh` instead of the `leaderCh`,
so we get all up/down events from Raft regarding leadership. We also wait
for the old leader loop to shut down before we ever consider starting a
new one, which keeps that single-threaded and fixes the panic in that issue.
2017-04-13 14:17:32 -07:00
Kyle Havlovitz 4584d4f4e7
Add nil check to operator autopilot endpoint 2017-04-13 10:43:07 -07:00
Kyle Havlovitz 31a249a42e
Add formatting to autopilot init messages 2017-04-12 18:39:03 -07:00
Kyle Havlovitz 0924d5a2de
Reorganize version check logic for autopilot 2017-04-12 17:09:57 -07:00
Kyle Havlovitz 22620d5e73
Wait to initialize autopilot until all servers are >= 0.8.0 2017-04-12 16:05:13 -07:00
James Phillips 5b35ee3866
Tweaks error handling case to not panic further down. 2017-04-12 10:02:42 -07:00
Wim 7c8f25c36e Fix ipv6 join failure 2017-04-06 23:27:39 +02:00
Kyle Havlovitz 4743895f40
Prefix autopilot log messages with 'autopilot' 2017-04-04 17:21:49 -07:00
Kyle Havlovitz a7fca8d6a7
Use voter count instead of server count for required quorum 2017-04-04 15:42:17 -07:00
James Phillips 76fdd5f392
Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
Kyle Havlovitz 074b8576a5 Merge pull request #2847 from hashicorp/remove-peer-by-id
Add CLI/API endpoints for removing peer by ID
2017-03-30 10:13:56 -07:00
Kyle Havlovitz a2058d23ef
Add CLI/API endpoints for removing peer by ID 2017-03-30 10:13:32 -07:00
James Phillips 52651469dc
Bans check updates for nodes other than top-level reg. updates. 2017-03-29 16:17:58 -07:00
Kyle Havlovitz 35556a0eaf
Remove stale raft servers differently depending on minRaftVersion 2017-03-29 13:38:40 -07:00
Kyle Havlovitz 18c95b504a
Clean up raft servers without a corresponding serf entry 2017-03-29 12:52:00 -07:00
Kyle Havlovitz c7c2ebaf24
Use the new raft api function for leaving if applicable 2017-03-27 12:31:38 -07:00
James Phillips 424d70ba5d
Cleans up a stray mark and fixes unit tests.
Ended up removing the leader_test.go server address change test as part
of this. The join was failing becase we were using a new node name with
the new logic here, but realized this was hitting some of the memberlist
conflict logic and not working as we expected. We need some additional
work to fully support address changes, so removed the test for now.
2017-03-27 01:28:54 -07:00
James Phillips 97e761f50f
Adds node ID integrity checking for cluster merges. 2017-03-27 00:15:42 -07:00
James Phillips 7340b5b7ad
Adds node ID integrity checking for the catalog. 2017-03-27 00:15:21 -07:00
James Phillips a22c04f1bf
Gets rid of the Consul service exception under version 8.
Fixes #2816.
2017-03-24 12:12:24 -07:00
James Phillips 56b55b743f
Makes the start/stop test less flaky. 2017-03-23 20:04:23 -07:00
James Phillips 44a73bea7e
Fixes up some new tests for the updated testutil. 2017-03-23 17:55:47 -07:00
Seth Vargo dc47ebb082
Fix vet issues 2017-03-23 20:29:31 -04:00
Seth Vargo fe4c8b3a00 Merge pull request #2824 from hashicorp/sethvargo/testutil
Reduce coupling with testing.T
2017-03-23 20:29:11 -04:00
Seth Vargo 2efa3bdff8
Use new APIs 2017-03-23 18:48:13 -04:00
James Phillips 582e6c5938
Fixes an issue where servers would delete catalog information set by
the node when they were trying to reconcile a member.
2017-03-23 15:01:46 -07:00
James Phillips 16a9f6d671
Modifies server reconcile path to not use the server's token for internal operations. 2017-03-23 13:34:30 -07:00
Kyle Havlovitz 37ea20cb44
Add advanced autopilot features 2017-03-22 15:25:16 -07:00
James Phillips 36a0abe10f Merge pull request #2801 from hashicorp/spoken-hub-oss
Adds support for WAN soft fail and join flooding.
2017-03-20 16:24:07 -07:00
James Phillips d68bd9cca0
Cleans up based on review feedback. 2017-03-20 16:23:40 -07:00
James Phillips 898b26524a
Adds a warning if the context is canceled. 2017-03-20 09:27:28 -07:00
James Phillips 5ee1256137
Converts the stats fetch from serial to parallel and snaps the last index. 2017-03-19 20:48:42 -07:00
James Phillips cfc01419c8
Adds a stats fetcher to make sure we don't block the autopilot loop. 2017-03-17 18:42:28 -07:00
James Phillips e49d5456aa
Lowers log spam from the join flooder. 2017-03-16 23:38:15 -07:00
James Phillips 44d3e207ed
Makes the flood goroutine more reusable. 2017-03-16 16:42:19 -07:00
James Phillips 9176e77111
Shuts down flooder when either Serf is shut down. 2017-03-16 16:42:19 -07:00
James Phillips 0cf9cf22ad
Fixes a unit test that needed to account for WAN flooding. 2017-03-16 16:42:19 -07:00
James Phillips 91a861337b
Adds LAN -> WAN join flooding. 2017-03-16 16:42:19 -07:00
James Phillips 1e5a442420
Walks back the changes to change pool address interface into strings. 2017-03-16 16:42:19 -07:00
James Phillips dec485145e
Adds a hook for the route lookup function. 2017-03-16 16:42:19 -07:00
James Phillips ad39f8a0f6
Cleans up some small things based on review feedback. 2017-03-16 16:42:19 -07:00
James Phillips 543389ad0a
Adds offline detection. 2017-03-16 16:42:19 -07:00
James Phillips 8cc06ec10d
Adds missing unit tests and cleans up some router bugs. 2017-03-16 16:42:19 -07:00
James Phillips 850ac50e99
Makes the raft_vsn optional in Serf tags to support older servers. 2017-03-16 16:42:19 -07:00
James Phillips 1cd3a8a107
Simplifies median calculation. 2017-03-16 16:42:19 -07:00
James Phillips 28f8aa5559
Removes remoteConsuls in favor of the new router.
This has the next wave of RTT integration with the router and also
factors some common RTT-related helpers out to lib. While we were
in here we also got rid of the coordinate disable config so we don't
need to deal with the complexity in the router (there was never a
user-visible way to disable coordinates).
2017-03-16 16:42:19 -07:00
James Phillips 746e735dce
Fixes snapshot endpoint after merge. 2017-03-16 16:42:18 -07:00
James Phillips 0269bd0e41
Cleans up after merge. 2017-03-16 16:42:18 -07:00