denominator icon indicating copy to clipboard operation
denominator copied to clipboard

support load balanced CNAME records

Open allenxwang opened this issue 11 years ago • 2 comments

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

allenxwang avatar Mar 11 '13 22:03 allenxwang

in UltraDNS, the following commands are needed and imply a premium account: addTCLBPool, addPoolRecord, updatePoolRecord, getPoolRecords, getLoadBalancingPoolsByZone

codefromthecrypt avatar Mar 12 '13 16:03 codefromthecrypt

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

codefromthecrypt avatar Jun 11 '13 18:06 codefromthecrypt