Create endpoints on a predictable order #1011
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Endpoints (internal haproxy ingress struct, not the k8s one) are part of the building blocks to configure a backend or a tcp listener. HAProxy Ingress uses deep equals on some structs in order to identify equality, hence the ability to skip a reload event. When two endpoint arrays have the same content but on distinct order, they are not considered equals, although it should from the haproxy and haproxy ingress perspective. Because of that we're sorting them.
The former update (which we're reverting here) was sorting the endpoints after they get named, so the order is right but some names might be changed. Now we're sorting the endpoints on its source.