Open Cedev opened 8 years ago
It needs to send "health-check": "". Is that getting stripped by the acas-client library?
This would be easy to do once we've done #187, but it needs to be fixed in master without the orchestration changes first anyway.
The fix is to change the v1 handler_hm to call client.slb.service_group.update(pool_name, health_monitor="", health_check_disable=True)
In v2 handler_hm we call update with health_check_disable=True
def _disable_health_monitor(self, c, context, hm):
c.client.slb.service_group.update(
self._pool_name(context, pool=hm.pool),
health_monitor="", health_check_disable=True)
In v1 (since this unreleased code in master) we call update with health_monitor_disabled=True
def _dissociate(self, c, context, hm, pool_id):
"""Remove a pool association"""
pool_name = self._pool_name(context, pool_id)
c.client.slb.service_group.update(pool_name, health_monitor="",
health_monitor_disabled=True)
The 3.0 api acos client expects health_check_disable
# If we explicitly disable health checks, ensure it happens
# Else, we implicitly disable health checks if not specified.
health_check_disable = 1 if kwargs.get("health_check_disable", False) else 0
# When enabling/disabling a health monitor, you can't specify
# health-check-disable and health-check at the same time.
if hm_name is None:
params["service-group"]["health-check-disable"] = health_check_disable
else:
params["service-group"]["health-check"] = hm_name
When lbaasv1 tries to disassociate a health monitor from a 4.1 box, it doesn't. We send
This is generated from the call
The box responds with
The service group is still associated with the
health-check
.Disassociating a health monitor from a service group in the 3.0 api is different than in the 2.1 api.