I've looked over the suggestion and there are a few things that
confuse me. The list of hosts is separate from the weights. Maybe just
make weight an optional element of a host? And the "protocol" is
storing information about both the schema and the port. What if it
looked something like this?

name: consistent_hash
hash_key: uri
primary_ring:
    - &p1
        host: p1.foo.com
        ports:
            80: [ http1 ]
            443: [ https1 ]
        heathcheck:
           url: tcp://192.168.1.1:80
        weight: 1.0
    - &p2
        host: p2.bar.com
        ports:
            80: [ http1, http2 ]
            443: [ https1 ]
        healthcheck:
            url: http://192.168.1.2:80
        weight: 2.0
secondary_ring:
    - &s1
        host: p1.foo.com
        healthcheck:
            url: tcp://192.168.2.1:80
    - &s2
        host: p2.bar.com
        healthcheck:
            url: http://192.168.3.2:80

I'm not seeing immediately why we'd want hosts in multiple places, but
the above allows you to easily reuse the previous host entry if you
wish. Maybe if the file had multiple strategies:

strategies:
  - name: consistent_hash
    hash_key: uri
    primary_ring:
      - &one
        host: one.example.net
        weight: 1.0
      - &two
        host: two.example.net
        weight: 2.0
      - &three
        host: three.example.net
        weight: 1.0
    secondary_ring:
      - &backup
        host: nevergoesdown.example.net
  - name: rr
    primary_ring:
      - *one
      -
        <<: *two
        weight: 5.0
    secondary_ring: [ *backup ]

Or some other scenario where it would be useful to reuse the host definition.


On Fri, Jun 8, 2018 at 11:26 AM, John Rushford <jrushf...@apache.org> wrote:
> Please have a look at https://github.com/apache/trafficserver/issues/3808
> and provide any comments on the proposed format of the parents.yaml
> configuration.

Reply via email to