-
Notifications
You must be signed in to change notification settings - Fork 107
Open
Description
Issue
Implement support for the hash-based routing in the cloud controller (see details in the RFC-0042 "Implementing a Hash-Based Load Balancing Algorithm for CF Routing").
Context
In the RFC-0042 "Implementing a Hash-Based Load Balancing Algorithm for CF Routing" it was decided to introduce hash-based routing as a load balancing algorithm to be used on a per-route basis. The implementation for the routing stack has been provided in the PR routing-release#519.
Cloud Controller provides an interface between CF users and the routing stack.
Expected results
- Cloud Controller accepts
hashas a valid property forloadbalancingper-route option at the relevant routes API endpoints and in the manifest. - Cloud Controller accepts the new per-route options
hash_headerandhash_balanceat the relevant routes API endpoints. - Cloud Controller accepts the new per-route options
hash_headerandhash_balancein the manifest. - Cloud Controller performs validations:
** Thehash_headerproperty is mandatory when load balancing is set to hash
** Thehash_balanceproperty is optional when load balancing is set to hash. Leaving out hash_balance or setting it explicitly to 0 is allowed and it means the load situation will not be considered
** For load balancing algorithms other thanhash, thehash_balanceandhash_headerproperties MUST not be set - Cloud Controller tries to merge the per-route options object from the database (if exists) with the changes from the manifest. For example, the app admin wants to change only the
hash_balancefor already existing route which uses hash load-balancing algorithm. - Implement an operator-level feature flag to enable/disable the logic. Mark the feature as experimental, until everything is completed
Please raise your comments in this issue.
Metadata
Metadata
Assignees
Labels
No labels