Bug 1635261 - Unreliable access to DB information
Summary: Unreliable access to DB information
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-octavia
Version: 15.0 (Stein)
Hardware: Unspecified
OS: Unspecified
Target Milestone: Upstream M1
: 15.0 (Stein)
Assignee: Luis Tomas Bolivar
QA Contact: Bruna Bonguardo
Depends On:
Blocks: 1623087
TreeView+ depends on / blocked
Reported: 2018-10-02 13:29 UTC by Luis Tomas Bolivar
Modified: 2019-09-26 10:46 UTC (History)
5 users (show)

Fixed In Version: openstack-octavia-4.0.2-0.20190614125808.4b912e4.el8ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-09-21 11:19:11 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
OpenStack gerrit 604417 0 None MERGED Ensure pool object contains the listener_id if passed 2020-01-27 10:26:35 UTC
OpenStack gerrit 611321 0 None MERGED Ensure pool object contains the listener_id if passed 2020-01-27 10:26:35 UTC
Red Hat Product Errata RHEA-2019:2811 0 None None None 2019-09-21 11:19:30 UTC
Storyboard 2003833 0 None None None 2018-10-17 07:10:32 UTC

Description Luis Tomas Bolivar 2018-10-02 13:29:50 UTC
When creating a pool with an associated listener_id, sometimes this information is set, and sometimes it is not. Problem comes from https://github.com/openstack/octavia/blob/master/octavia/api/v2/controllers/pool.py#L244-L245 not setting the listeners property on db_pool pool object even if it is passed.

Pool model (https://github.com/openstack/octavia/blob/master/octavia/db/models.py#L257) is getting the listener information through a property that relies on the information existing on the listener (https://github.com/openstack/octavia/blob/master/octavia/db/models.py#L448).

I checked that even though listener.update gets executed here: https://github.com/openstack/octavia/blob/master/octavia/db/repositories.py#L226-L228

The subsequent pool.get call https://github.com/openstack/octavia/blob/master/octavia/db/repositories.py#L229 is not (always) getting the listeners information.

I tried making it part of the same transaction but it is not always helping: https://review.openstack.org/#/c/604152/

The next workaround solves the issue, though it is not fixing the initial problem of not accessing the latest information on the DB:

Comment 6 errata-xmlrpc 2019-09-21 11:19:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.