Closed jlongstaf closed 7 years ago
The agent currently supports listener create and update with default-pool-id. The agent code does not directly process 'default-pool-id' and instead relies on association between pools and listeners defined in the service object. These associations are correctly defined in the service object passed from driver to agent when default-pool-id is present in the CLI or REST API.
Description
Agent fails to set virtual server pool reference on BIG-IP in response to lbaas-listener-update --default-pool-id
Agent Version
9.2.0
Operating System
SuSE
OpenStack Release
Mitaka
Description
We are seeing issues with the ‘detached’ pool functionality. Specifically, when we issue and update listener command from the CLI with a default pool set we see the listener default pool is set in Neutron, but in the VS on the devices the pool is set to None.
I think I see why, I just don’t understand how it can ever have worked, unless I’m missing something. As far as I can see everything on the agent is done with reference to a service dict, which is passed via RPC from the driver. Pools are built in the service builder as a list of dicts with key ‘pools’ https://github.com/F5Networks/f5-openstack-lbaasv2-driver/blob/mitaka/f5lbaasdriver/v2/bigip/service_builder.py#L133-L134
In the agent code I see this method https://github.com/F5Networks/f5-openstack-agent/blob/master/f5_openstack_agent/lbaasv2/drivers/bigip/service_adapter.py#L127-L138 which as far as I can tell is never called (https://github.com/F5Networks/f5-openstack-agent/search?utf8=%E2%9C%93&q=get_vip_default_pool&type=)
I’m also seeing this being used to get a pool from the service service[“pool”] e.g. https://github.com/F5Networks/f5-openstack-agent/blob/master/f5_openstack_agent/lbaasv2/drivers/bigip/service_adapter.py#L95-L98 and it’s not clear to me from the driver service builder code how the key “pool” can exist in the service dict.
Can you confirm the lbaas-listener-update –default-pool xxxx yyyy works? It’s critical to our customers use case, specifically for blue/green deployment scenarios.
Deployment
Multiple BIG-IPs.