Commit graph

1787 commits

Author SHA1 Message Date
Armon Dadgar 4d0903f781 consul: Adding more tests for session TTLs 2014-12-12 21:42:59 -08:00
Armon Dadgar 5b6ce2ca4a consul: Setup ACLs and timers after initial barrier 2014-12-12 21:42:24 -08:00
Armon Dadgar f25566931f consul: Make sessionTimersLock a plain mutex 2014-12-12 19:17:35 -08:00
Armon Dadgar 9b897d1134 consul: Ignore zero ttl on session 2014-12-12 19:17:04 -08:00
Armon Dadgar 990ad02f83 consul: Minor cleanups 2014-12-12 15:43:34 -08:00
Armon Dadgar 8dbfe7c9a8 Merge pull request #524 from amalaviy/session_ttl
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Armon Dadgar 3ced5c14c3 Merge pull request #515 from mtchavez/master
Vagrant updates
2014-12-12 14:18:39 -08:00
Atin Malaviya 073020f6be Add invalidateSession test 2014-12-11 06:09:53 -05:00
Atin Malaviya 5a76929ba4 Fixed clearSessionTimer, created invalidateSession, added invalid TTL test 2014-12-11 05:34:31 -05:00
Seth Vargo 791ee28edb Merge pull request #531 from ijin/patch-1
minor grammer fix
2014-12-11 02:03:17 -08:00
Michael H. Oshita 8351121fde minor grammer fix 2014-12-11 19:02:29 +09:00
Atin Malaviya 7ece29c3e0 Took out usage of snapshot SessionListTTL 2014-12-10 21:37:06 -05:00
Atin Malaviya e84b26fcf5 Remove hardcoded wait time in session TTL tests 2014-12-10 21:04:09 -05:00
Atin Malaviya 2de09dc2e7 Took out StateSnapshot SessionListTTL also 2014-12-10 20:53:05 -05:00
Atin Malaviya 8369b77204 Clean up code based on feedback from armon 2014-12-10 20:49:06 -05:00
Atin Malaviya a1afc07f54 Added more tests 2014-12-10 16:43:15 -05:00
Atin Malaviya c992c18ef0 Added more tests. Also added return of 404 if the session id to renew is not found 2014-12-10 10:02:23 -05:00
Armon Dadgar f49f6c4ad3 Merge pull request #521 from hoffoo/master
ui: ask for confirmation before deleting keys
2014-12-07 17:03:32 -08:00
Armon Dadgar d40aef113a Merge pull request #522 from alouche/minor_cleanup
Minor cleanup
2014-12-07 17:02:32 -08:00
Atin Malaviya b623af776b Consul Session TTLs
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.

Similar to Chubby, the TTL represents a lower-bound. Consul promises
not to terminate a session before the TTL has expired, but is allowed
to extend the expiration past it. This enables us to reset the TTL on
a leader failover. The TTL is also extended when the client does a
heartbeat. Like Chubby, this means a TTL is extended on creation,
heartbeat or failover.

Additionally, because we must account for time requests are in transit
and the relative rates of clocks on the clients and servers, Consul
will take the conservative approach of internally multiplying the TTL
by 2x. This helps to compensate for network latency and clock skew
without violating the contract.

Reference: https://docs.google.com/document/d/1Y5-pahLkUaA7Kz4SBU_mehKiyt9yaaUGcBTMZR7lToY/edit?usp=sharing
2014-12-07 12:38:22 -05:00
Marin 781692e3a8 ui: confirm dialog only when deleting key directories #521 2014-12-06 12:00:51 -08:00
Ali Abbas 154c4e93e4 since dns.TXT is an external dependency, it is safer to add keys to the fields to avoid some potential ordering issues if changes in this field occur with upstream 2014-12-06 13:13:35 +01:00
Ali Abbas a542df954f cleanup and simplify 2014-12-06 13:08:35 +01:00
Ali Abbas 0117529781 remove control flow on errExit by switching from bool to int 2014-12-06 12:50:38 +01:00
Ali Abbas 40979b1159 * use defer to avoid tracking lock
* simplify control flow
2014-12-06 12:32:18 +01:00
Armon Dadgar 165e282e1c Merge pull request #518 from larsks/master
updates to leader election documentation
2014-12-05 18:59:39 -08:00
Armon Dadgar 66dc7752e0 Merge pull request #516 from mtchavez/tests/fix-failing
Tests/fix failing
2014-12-05 18:50:30 -08:00
Chavez 72904e39bd Separate cover target for tests 2014-12-05 18:47:23 -08:00
Marin bed14bb96f ui: ask for confirmation before deleting keys #520 2014-12-05 17:14:11 -08:00
Lars Kellogg-Stedman 52df94e560 updates to leader election documentation
Clarify the steps involved in the leader election process.

- provide examples of creating a session
- provide links to appropriate documentation
2014-12-05 14:28:21 -05:00
Chavez 5f4281f98f consul: Server leave test fix 2014-12-05 11:22:54 -08:00
Chavez 7c1aad7b1d agent: agent test fixes 2014-12-05 10:36:44 -08:00
Chavez c6b3cae106 consul: Fix failing globalRPC test 2014-12-05 10:36:37 -08:00
Chavez 904b14dc93 Fix typo 2014-12-04 23:11:47 -08:00
Chavez 12966dc9f7 Vagrant updates
* Add go tools to provision script
* Sync project folder
* Fix ruby styling issues
* Add --cover flag to test commands
2014-12-04 21:24:05 -08:00
Armon Dadgar b4021621b5 Merge pull request #514 from vlajos/typofixes-vlajos-20141204
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-04 15:41:16 -08:00
Veres Lajos 850d5bdc32 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 23:25:06 +00:00
Ryan Uber a6608c07ae Merge pull request #511 from catsby/exec-doc-update
Small doc update for exec command
2014-12-04 00:40:39 -08:00
Clint Shryock 693fa207c8 Small doc update for exec command
the documentation for -tag says it must be used with -service, but
example used is -server, which doesn't work.

This changes -server to -service.
2014-12-03 22:46:26 -06:00
Armon Dadgar b10159a87b agent: Handle service ACLs when doing anti-entropy 2014-12-01 11:43:01 -08:00
Armon Dadgar c0b39843e0 Merge pull request #506 from hashicorp/f-service-acl
Service ACL support
2014-11-30 21:11:36 -07:00
Armon Dadgar 402d580863 consul: Check that ACL also allows registration 2014-11-30 21:10:42 -07:00
Armon Dadgar d74f79b3fa consul: Enforce service registration ACLs 2014-11-30 21:05:15 -07:00
Armon Dadgar 7b8faf4cb3 acl: Expose service policy checks 2014-11-30 20:33:46 -07:00
Armon Dadgar b9810f774c acl: Support for service policies 2014-11-30 20:18:16 -07:00
Armon Dadgar 376f9694f4 website: Update ACL docs 2014-11-30 20:12:44 -07:00
Ryan Uber 42bad4af80 agent: fixup all check definitions from json config 2014-11-30 18:27:37 -08:00
Ryan Uber 9e52588cec agent: persist CheckType with health checks 2014-11-29 12:54:37 -08:00
Ryan Uber 4f14ba6326 agent: allow config reload to modify checks/services persistence
This change consolidates loading services and checks from both config
and persisted state into methods on the agent. As part of this, we
introduce optional persistence when calling RemoveCheck/RemoveService.

Fixes a bug where config reloads would kill persisted services/checks.
Also fixes an edge case:

1. A service or check is registered via the HTTP API
2. A new service or check definition with the same ID is added to config
3. Config is reloaded

The desired behavior (which this implements) is:

1. All services and checks deregistered in memory
2. All services and checks in config are registered first
3. All persisted checks are restored using the same logic as the agent
   start sequence, which prioritizes config over persisted, and removes
   any persistence files if new config counterparts are present.
2014-11-26 12:46:42 -08:00
Armon Dadgar 795bcc57a5 Merge pull request #499 from alouche/fix_potential_race_condition_shutdown
Fix potential race condition on shutdown (pool.reap/server.handleConsulConn)
2014-11-26 11:39:33 -08:00