Code review comment for lp:~allenap/gwacl/remove-role-endpoints

Gavin Panella (allenap) wrote :

On 23 July 2013 16:53, Raphaël Badin <email address hidden> wrote:
> I think (name), (protocol, local port) and (protocol, port) are
> natural keys for an endpoint.

So a comparison would go something like, in order:

- If Name matches, they're the same,

- If Protocol and LocalPort match, they're the same,

- If Protocol and Port match, they're the same,

- Otherwise they're not the same.

What about LoadBalancedEndpointSetName?

  Specifies a name for a set of load-balanced endpoints. Specifying
  this element for a given endpoint adds it to the set.

That sounds like if it's set to a non-empty string then the natural
key would be (set-name, protocol, port, local-port).

This opens up more questions:

- For a load-balanced endpoint set, does the public port have to be
  the same for all endpoints therein?

- What happens if a load-balanced set uses the same port as a
  non-load-balanced endpoint? I assume they conflict. So, when
  comparing endpoints we have to consider if they're the same
  definition, or in conflict.

Also, I've seen some example XML for InputEndpoint that includes a Vip
tag (VIP in the GWACL structs). This ist shown in the docs for
GetRole, but not UpdateRole. I guess we can ignore this as Azure only
supports one VIP per deployment at present.

I'm still working on this branch... I think I'm going to land as soon
as I can with a whopping FIXME in CompareInputEndpoints, and then do
some experimentation to figure all the above out, at least that of it
which is relevant to us.

« Back to merge proposal