cloudfoundry / routing-release

This is the BOSH release for cloud foundry routers
Apache License 2.0
42 stars 106 forks source link

Add drain_wait + lb_healthy_threshold properties for tcp_router #430

Closed geofffranks closed 1 month ago

geofffranks commented 2 months ago

Summary

Plumbs drain_wait into tcp_router, and reconfigures the haproxy health monitor to support conditionally failing (when in drain mode) so that load balancers will remove it from service.

Adds a post-start script based on gorouter's that will wait until load balancers have had time to re-add nodes to the pool before moving onto the next instance, to ensure there's always at least one healthy tcp router in the load balancing pool during deploys.

Backward Compatibility

Breaking Change? No. The new properties have sane defaults. The drain + post-start scripts require no operator intervention. Deploy times will be slightly longer, but availability will be much higher for tcp-routes during deploys.

geofffranks commented 1 month ago

Rebased, and fixed up the comments/duplicate tcp_ text