Commit graph

2935 commits

Author SHA1 Message Date
Seth Vargo 9aed9c14c2 Use a faster middleman deploy 2015-09-20 14:03:38 -04:00
James Phillips 26eadcd95c Merge pull request #1235 from wuub/master
fix conflict between handleReload and antiEntropy critical sections
2015-09-17 07:28:39 -07:00
Wojciech Bederski 9a1b52171f panic when unbalanced localState.Resume() is detected 2015-09-17 11:32:08 +02:00
Ryan Breen 4413f1730e Merge pull request #1242 from dwijnand/fix-typos
Fix a bunch of typos.
2015-09-15 08:41:22 -04:00
Dale Wijnand c5168e1263 Fix a bunch of typos. 2015-09-15 13:22:08 +01:00
James Phillips 6b8438f040 Merge pull request #1240 from hashicorp/sethvargo/link_warnings
Fix link warnings
2015-09-14 10:51:59 -07:00
Seth Vargo 7c78568e72 Fix link warnings 2015-09-14 18:48:51 +01:00
R.B. Boyer 8d5f1528c5 Correct the Session.Renew{,Periodic} to handle session expiration better 2015-09-14 08:52:32 -05:00
James Phillips b25797a808 Merge pull request #1187 from sfncook/enable_tag_drift_03
Enable tag drift 03
2015-09-11 15:35:32 -07:00
Shawn Cook 451abfa206 Doc changes in response to review. 2015-09-11 15:26:30 -07:00
Shawn Cook 7d6f30da1c Docs - add verbage to anti-entropy page. 2015-09-11 14:27:54 -07:00
Ryan Breen bd13ffb6d7 Merge pull request #1236 from scalp42/typos
remove various typos
2015-09-11 15:47:32 -04:00
Anthony Scalisi 8d733b7fca remove various typos 2015-09-11 12:29:54 -07:00
Shawn Cook 7c85d588d5 Update documentation for service definition 2015-09-11 09:32:54 -07:00
Ryan Breen ec5f5623b4 Merge pull request #1234 from jovandeginste/quote-variable
Add quotes to locations in case pwd contains spaces
2015-09-11 12:31:47 -04:00
Wojciech Bederski 4cd1b09ad7 make Pause()/Resume()/isPaused() behave more like a semaphore
see: https://github.com/hashicorp/consul/issues/1173 #1173

Reasoning: somewhere during consul development Pause()/Resume() and
PauseSync()/ResumeSync() were added to protect larger changes to
agent's localState.  A few of the places that it tries to protect are:

- (a *Agent) AddService(...)      # part of the method
- (c *Command) handleReload(...)  # almost the whole method
- (l *localState) antiEntropy(...)# isPaused() prevents syncChanges()

The main problem is, that in the middle of handleReload(...)'s
critical section it indirectly (loadServices()) calls  AddService(...).
AddService() in turn calls Pause() to protect itself against
syncChanges(). At the end of AddService() a defered call to Resume() is
made.

With the current implementation, this releases
isPaused() "lock" in the middle of handleReload() allowing antiEntropy
to kick in while configuration reload is still in progress.
Specifically almost all services and probably all check are unloaded
when syncChanges() is allowed to run.

This in turn can causes massive service/check de-/re-registration,
and since checks are by default registered in the critical state,
a majority of services on a node can be marked as failing.
It's made worse with automation, often calling `consul reload` in close
proximity on many nodes in the cluster.

This change basically turns Pause()/Resume() into P()/V() of
a garden-variety semaphore. Allowing Pause() to be called multiple times,
and releasing isPaused() only after all matching/defered Resumes() are
called as well.

TODO/NOTE: as with many semaphore implementations, it might be reasonable
to panic() if l.paused ever becomes negative.
2015-09-11 18:28:06 +02:00
Jo Vandeginste 29a1f07c07 Add quotes to locations in case pwd contains spaces 2015-09-11 18:19:22 +02:00
Wojciech Bederski 24ac26b3c1 failing test showing that nested Pause()/Resume() release too early
see: #1173 / https://github.com/hashicorp/consul/issues/1173
2015-09-11 17:52:57 +02:00
Shawn Cook 99be758411 Rename EnableTagOverride and update formatting 2015-09-11 08:35:29 -07:00
Shawn Cook f448a62826 Remove debug lines 2015-09-11 08:32:59 -07:00
James Phillips 51141558fd Merge pull request #1233 from hashicorp/b-maint-test
Adds missing token to maint unit test.
2015-09-10 15:07:44 -07:00
Shawn Cook 2f04917261 Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03 2015-09-10 14:55:30 -07:00
James Phillips d00889c3a4 Adds missing token to maint unit test. 2015-09-10 14:53:00 -07:00
Shawn Cook 8a86eee9fb Add test cases TestAgentAntiEntropy_EnableTagDrift 2015-09-10 14:08:16 -07:00
Ryan Uber 7bcb88820e Update CHANGELOG.md 2015-09-10 12:31:13 -07:00
Ryan Uber 08d12e978f Merge pull request #1230 from hashicorp/f-maintfix
Respect tokens in maintenance mode
2015-09-10 12:30:07 -07:00
Ryan Uber 948bd57d6a agent: testing node/service maintenance using tokens 2015-09-10 12:08:08 -07:00
Ryan Uber e129a59316 agent: thread tokens through for maintenance mode 2015-09-10 11:43:59 -07:00
Ryan Breen 40e6527720 Merge pull request #1222 from 42wim/node-aaaa-queries
Allow AAAA queries for nodeLookup
2015-09-08 11:01:49 -04:00
Wim 3d7c3725d8 Allow AAAA queries for nodeLookup 2015-09-08 16:54:36 +02:00
Ryan Breen d63749b30e Merge pull request #1217 from 42wim/fix-rfc2308-part3
No NXDOMAIN when the answer is empty
2015-09-04 10:42:38 -04:00
Ryan Breen 42ee984dce Merge pull request #1218 from hashicorp/b-typo
Fixes a typo in the telemetry docs.
2015-09-03 10:08:39 -04:00
James Phillips c601f64c3f Fixes a typo in the telemetry docs. 2015-09-02 21:37:31 -07:00
Armon Dadgar 56efa4958b Merge pull request #1214 from zendesk/fix_lock_race_2
lock.go: fix another race condition
2015-09-02 16:04:55 -07:00
James Phillips f51f61a7d3 Merge pull request #1216 from hashicorp/sethvargo/update_middleman
Update Middleman
2015-09-02 09:11:10 -07:00
Seth Vargo 292acffcd9 Update Middleman 2015-09-02 10:14:06 -04:00
Wim 2336c6a4bd No NXDOMAIN when the answer is empty 2015-09-02 16:12:22 +02:00
Ryan Breen a013095f62 Merge pull request #1167 from railsguru/master
Add -http-port option to change the HTTP API port
2015-09-02 01:15:55 -04:00
Ryan Uber c17d838d8a Merge pull request #1215 from hashicorp/f-ui-endpoint
agent: Always enable the UI endpoints
2015-09-01 21:31:47 -07:00
Andy Lo-A-Foe 46e614ae70 Position it alphabetically 2015-09-02 06:28:55 +02:00
Andy Lo-A-Foe e9ee1f9bea Update agent options section on the website 2015-09-02 05:36:09 +02:00
Armon Dadgar 655666170a agent: Always enable the UI endpoints 2015-09-01 18:28:32 -07:00
Ryan Breen 0bd7211eab Merge pull request #1194 from 42wim/fix-maxServiceResponses
Limit the DNS responses after getting the NodeRecords (fixes 0 A/AAAA responses)
2015-09-01 17:41:39 -04:00
Michael S. Fischer 01ec256c7e lock.go: fix another race condition
The previous fix to `consul lock` (commit 6875e8d) didn't completely
eliminate the race that could occur if the lock was acquired around the
same time SIGTERM was received:  It was still possible for
Run() to spawn the process via startChild() after killChild() had
released the shared mutex.

Now, when SIGTERM is received, we acquire a mutex that prevents
spawning a new process and never release it.

We've tested this fix pretty thoroughly and believe it completely
resolves the issue.
2015-09-01 14:27:23 -07:00
Wim e97973c1e1 Limit the DNS responses after getting the NodeRecords 2015-09-01 23:23:05 +02:00
Ryan Breen 56d2fa4c17 Merge pull request #1195 from 42wim/fix-rfc2308-part2
Return SOA/NXDOMAIN when the answer is empty
2015-09-01 17:08:31 -04:00
Ryan Breen 6b6e79dadf Merge pull request #1211 from kikitux/master
add consul-do to community tools
2015-09-01 16:57:35 -04:00
Alvaro Miranda 2c3634ca57 Update downloads_tools.html.erb 2015-09-02 08:50:57 +12:00
Wim b806aceef4 Return SOA/not found when the answer is empty 2015-09-01 22:28:12 +02:00
Ryan Breen 300078db4d Merge pull request #1213 from mainframe/nodefabric-patch-1
Adding NodeFabric reference to Community Tools
2015-09-01 16:17:39 -04:00