denominator
denominator copied to clipboard
support load balanced CNAME records
For example, we would like to read AWS route53 records with multiple CNAMEs.
multi-value (load-balanced) ResourceRecordSets:
Tasks:
- [x] implement base tests for round-robin cnames in
mock
- [ ] implement round-robin cnames in
ultradns
- [ ] implement round-robin cnames in
route53
- [ ] implement round-robin cnames in
dynect
in UltraDNS, the following commands are needed and imply a premium account: addTCLBPool
, addPoolRecord
, updatePoolRecord
, getPoolRecords
, getLoadBalancingPoolsByZone
I've a proposal to expose the following to help folks understand the valid values they can place for weight.
List<Integer> WeightedRecordSetApi.supportedWeights();
This is a List as opposed to a DiscreteDomain or Range, as in the case of UltraDNS the values are not contiguous. RangeSet could be used, but that's awkward, especially if exporting as a ReST call. The downside of List is that we need to include every possible number. Since the upper bound is 256 elements (route53), it seems pragmatic to use a list to describe all valid weights.
Here are the constraints that make the case.
- in all providers, weight = 0 means always serve.
- in DynECT, valid values are 0-15
- in UltraDNS, valid values are 0-100 (even numbers)
- in Route53, valid values are 0-255
cc @allenxwang @colmmacc @jonbodner @jdamick