Bug 1346822 - Fix for 'ofport' query retries during neutron agent start
Summary: Fix for 'ofport' query retries during neutron agent start
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron
Version: 9.0 (Mitaka)
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ga
: 9.0 (Mitaka)
Assignee: Hynek Mlnarik
QA Contact: Toni Freger
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-06-15 12:05 UTC by Hynek Mlnarik
Modified: 2016-08-15 04:01 UTC (History)
6 users (show)

Fixed In Version: openstack-neutron-8.1.2-1.el7ost
Doc Type: Bug Fix
Doc Text:
Previously, when bridge ports were missing for br-int and br-tun during agent startup, it checked for the patch ports `int-br-ex` and `phy-br-ex` before adding them. However, the function used to check their existence was get_port_ofport(), which retried the check because of the @_ofport_retry decoration. Consequently, this caused the restart to become unnecessarily slow because of the retries. With this update, the existence of ports is checked with port_exists() instead of get_port_ofport(). As a result, no slowdown occurs on startup when the bridge ports are missing for br-int and br-tun.
Clone Of:
Environment:
Last Closed: 2016-08-11 12:26:09 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1579769 0 None None None 2016-06-15 12:05:36 UTC
OpenStack gerrit 319545 0 None None None 2016-06-15 14:25:56 UTC
Red Hat Product Errata RHEA-2016:1597 0 normal SHIPPED_LIVE Red Hat OpenStack Platform 9 Release Candidate Advisory 2016-08-11 16:06:52 UTC

Description Hynek Mlnarik 2016-06-15 12:05:36 UTC
Description of problem:

When bridge ports are missing for br-int and br-tun and agent starts up, it checks for patch ports int-br-ex and phy-br-ex before adding those. But here the function used to check their existence is get_port_ofport() which retries it because of the @_ofport_retry decoration.
This causes the restart to become unnecessarily slow because of the retries. get_port_ofport() should be used only when the port is requested to be created, and the code waits for the ports to be created before proceeding further. We could've just checked for the port's existence with a call to port_exists() on the bridge.

Comment 1 Hynek Mlnarik 2016-07-21 13:47:45 UTC
This bug has been postponed until OSP-9 Neutron gets rebased to upstream stable version 8.1.2 (Mitaka) that includes this patch

Comment 2 Hynek Mlnarik 2016-07-22 06:47:54 UTC
OSP-9 was rebased onto 8.1.2 that includes patch fixing this bug.

Comment 4 Toni Freger 2016-07-27 07:07:49 UTC
Tested on latest OSP8 - openstack-neutron-8.1.2-1.el7ost.noarch
The code verified.

Comment 6 errata-xmlrpc 2016-08-11 12:26:09 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.

https://rhn.redhat.com/errata/RHEA-2016-1597.html


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