open-consul/agent/consul/state
Pierre Souchay 473e589d86 Implementation of Weights Data structures (#4468)
* Implementation of Weights Data structures

Adding this datastructure will allow us to resolve the
issues #1088 and #4198

This new structure defaults to values:
```
   { Passing: 1, Warning: 0 }
```

Which means, use weight of 0 for a Service in Warning State
while use Weight 1 for a Healthy Service.
Thus it remains compatible with previous Consul versions.

* Implemented weights for DNS SRV Records

* DNS properly support agents with weight support while server does not (backwards compatibility)

* Use Warning value of Weights of 1 by default

When using DNS interface with only_passing = false, all nodes
with non-Critical healthcheck used to have a weight value of 1.
While having weight.Warning = 0 as default value, this is probably
a bad idea as it breaks ascending compatibility.

Thus, we put a default value of 1 to be consistent with existing behaviour.

* Added documentation for new weight field in service description

* Better documentation about weights as suggested by @banks

* Return weight = 1 for unknown Check states as suggested by @banks

* Fixed typo (of -> or) in error message as requested by @mkeeler

* Fixed unstable unit test TestRetryJoin

* Fixed unstable tests

* Fixed wrong Fatalf format in `testrpc/wait.go`

* Added notes regarding DNS SRV lookup limitations regarding number of instances

* Documentation fixes and clarification regarding SRV records with weights as requested by @banks

* Rephrase docs
2018-09-07 15:30:47 +01:00
..
acl.go
acl_test.go
autopilot.go
autopilot_test.go
catalog.go Display more information about check being not properly added when it fails (#4405) 2018-08-14 17:45:33 +01:00
catalog_test.go Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
connect_ca.go Add tests for the built in CA's state store table 2018-06-14 09:42:06 -07:00
connect_ca_test.go Use provider state table for a global serial index 2018-06-14 09:42:15 -07:00
coordinate.go
coordinate_test.go
delay.go
delay_test.go
graveyard.go
graveyard_test.go
index_connect.go agent: switch ConnectNative to an embedded struct 2018-06-25 12:24:10 -07:00
index_connect_test.go agent: switch ConnectNative to an embedded struct 2018-06-25 12:24:10 -07:00
intention.go Fix hot loop in cache for RPC returning zero index. 2018-06-25 12:25:37 -07:00
intention_test.go Fix hot loop in cache for RPC returning zero index. 2018-06-25 12:25:37 -07:00
kvs.go
kvs_test.go
prepared_query.go
prepared_query_index.go
prepared_query_index_test.go
prepared_query_test.go
schema.go
schema_test.go
session.go
session_test.go
state_store.go agent/consul/state: CARoot structs and initial state store 2018-06-14 09:41:49 -07:00
state_store_test.go
tombstone_gc.go
tombstone_gc_test.go
txn.go
txn_test.go