F5Networks / f5-openstack-lbaasv2-driver

F5 LBaaSv2 service provider driver for OpenStack Liberty and beyond
http://clouddocs.f5.com/products/openstack/lbaasv2-driver/master/
Apache License 2.0
21 stars 37 forks source link

Service object related to pools and associated listeners needs to be cleaned up #611

Closed pjbreaux closed 7 years ago

pjbreaux commented 7 years ago

Agent Version

found in newton, but applicable to mitaka and possibly liberty

OpenStack Release

found in newton, but applicable to mitaka and possibly liberty -- @jlongstaf will verify liberty

Bug Severity

For bugs enter the bug severity level. Do not set any labels.

Severity: <Fill in level: 1 through 5>

Severity level definitions:

  1. Severity 1 (Critical) : Defect is causing systems to be offline and/or nonfunctional. immediate attention is required.
  2. Severity 2 (High) : Defect is causing major obstruction of system operations.
  3. Severity 3 (Medium) : Defect is causing intermittent errors in system operations.
  4. Severity 4 (Low) : Defect is causing infrequent interuptions in system operations.
  5. Severity 5 (Trival) : Defect is not causing any interuptions to system operations, but none-the-less is a bug.

Description

A shared pool is one which is associated with multiple listeners. There is a period of time where the pool is not updated with associated listeners, and that period of time could overlap with the building of the service object. If it does, then the pool's list of listeners may not be accurate. This means the service would be built based on stale information. The listener, however, does have the correct references to its associated pool. We will tweak the service object to reflect this fact. We can have the agent rely upon the listener's view of its pool, instead of relying upon the pool's view of the listeners. This issue tracks cleaning up the service object to reflect this change.

pjbreaux commented 7 years ago

To workaround this issue:

If mutliple listeners are sharing a pool (in neutron lbaas) and one of the corresponding virtual servers does not have the associated pool on the BIG-IP device, one can perform an lbaas-pool-update command on that pool. This will cause the driver to retrieve updated information for that pool from the neutron database, and the agent will then associate the pool with the virtual server.

dflanigan commented 7 years ago

@pjbreaux Two PRs for one issue ?