Bug 1284739 - Floating IP status is None in Multicontroller L3 router HA
Floating IP status is None in Multicontroller L3 router HA
Status: CLOSED ERRATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron (Show other bugs)
8.0 (Liberty)
Unspecified Unspecified
unspecified Severity unspecified
: ga
: 8.0 (Liberty)
Assigned To: Assaf Muller
Alexander Stafeyev
: AutomationBlocker
: 1295202 1299592 1303664 (view as bug list)
Depends On:
Blocks: 1190166 1243520 1305081
  Show dependency treegraph
 
Reported: 2015-11-23 23:06 EST by Timothy Swanson
Modified: 2016-04-26 20:57 EDT (History)
12 users (show)

See Also:
Fixed In Version: openstack-neutron-7.0.1-9.el7ost
Doc Type: Bug Fix
Doc Text:
Prior to this update, the status of a floating IP address was not set when the floating IP address was realized by an HA router. Consequently, 'neutron floatingip-show <floating_ip>' would not output an updated status. With this update, a floating IP address status is updated when realized by HA routers, and when the L3 agent configures a router. As a result, the status field for floating IP addresses realized by HA routers are now updated to 'ACTIVE' when the floating IP is configured by the L3 agent.
Story Points: ---
Clone Of:
: 1305081 (view as bug list)
Environment:
Last Closed: 2016-04-07 17:13:45 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Launchpad 1449049 None None None Never
OpenStack gerrit 177777 None None None 2016-01-13 16:00 EST
OpenStack gerrit 271741 None None None 2016-01-29 07:48 EST

  None (edit)
Description Timothy Swanson 2015-11-23 23:06:49 EST
Description of problem:
In multicontroller L3 router HA mode, any associated floating IPs will have 
their status attribute always None.  This causes the all of the tempest
network-basic-ops tests with floating IPs to fail in their setup.  


[stack@ospha-inst ~(sprdemo_member)]$ neutron l3-agent-list-hosting-router router1
+--------------------------------------+--------------------------------+----------------+-------+----------+
| id                                   | host                           | admin_state_up | alive | ha_state |
+--------------------------------------+--------------------------------+----------------+-------+----------+
| a81268b7-4ca4-473d-bde4-9e3e8e905977 | ospha-controller-2.localdomain | True           | :-)   | active   |
| d41a2b79-0e62-41f9-93cc-99cb4eb0b0f6 | ospha-controller-0.localdomain | True           | :-)   | standby  |
| 020ef310-384e-4d0f-834b-1fcf5a08e03a | ospha-controller-1.localdomain | True           | :-)   | standby  |
+--------------------------------------+--------------------------------+----------------+-------+----------+
[stack@ospha-inst ~(sprdemo_member)]$ 

 
neutron floatingip-list

[stack@ospha-inst ~(sprdemo_member)]$ neutron floatingip-list
+--------------------------------------+------------------+---------------------+--------------------------------------+
| id                                   | fixed_ip_address | floating_ip_address | port_id                              |
+--------------------------------------+------------------+---------------------+--------------------------------------+
| 2251e702-3c13-4c3e-9f12-c9e7fc0eaac3 | 10.2.2.5         | 10.19.9.104         | f62658cd-a856-4d31-93cb-5e75d2bcd4ef |
+--------------------------------------+------------------+---------------------+--------------------------------------+
[stack@ospha-inst ~(sprdemo_member)]$ 




 
neutron floatingip-show <ID of any associated floating-IP>
- this is where we see nothing in the “status” attrib


[stack@ospha-inst ~(sprdemo_member)]$ neutron floatingip-show 2251e702-3c13-4c3e-9f12-c9e7fc0eaac3
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| fixed_ip_address    | 10.2.2.5                             |
| floating_ip_address | 10.19.9.104                          |
| floating_network_id | e289016d-e516-4b09-9e66-df1e06b52bce |
| id                  | 2251e702-3c13-4c3e-9f12-c9e7fc0eaac3 |
| port_id             | f62658cd-a856-4d31-93cb-5e75d2bcd4ef |
| router_id           | ac30e038-c431-430c-9952-4f6a75808168 |
| status              |                                      |
| tenant_id           | 49fc2a4531c34bd788412503e3cf4009     |
+---------------------+--------------------------------------+
[stack@ospha-inst ~(sprdemo_member)]$ 

Version-Release number of selected component (if applicable):
7.0 y1

How reproducible:
100% in L3 router HA

Steps to Reproduce:
1. deploy overcloud with multicontroller
2. add external network, subnet; create tenant and a tenant net, subnet, and router
3. bring up a tenant VM & associate a floating IP 
4. neutron floatingip-show <ID of floating IP> 
   - No status value

Actual results:


Expected results:
status = ACTIVE

Additional info:
This is reproducible within RedHat's test environments as well--Steven Reichard's testbed.

Yair Fried indicated that the RedHat BM HA ENV tempest has no floating IP check in their setup--this indicates a different tempest version is being used in QA than is published in 7.0 y1 openstack-tempest RPMs.
Comment 2 Timothy Swanson 2015-11-24 10:22:47 EST
This potential fix (not upstream yet) works for our testing:

diff --git a/neutron/agent/l3/ha_router.py b/neutron/agent/l3/ha_router.py
index 4b88a3e..25e70c7 100644
--- a/neutron/agent/l3/ha_router.py
+++ b/neutron/agent/l3/ha_router.py
@@ -247,7 +247,7 @@ class HaRouter(router.RouterInfo):
         ip_cidr = common_utils.ip_to_cidr(fip_ip)
         self._add_vip(ip_cidr, interface_name)
         # TODO(Carl) Should this return status?
-        # return l3_constants.FLOATINGIP_STATUS_ACTIVE
+        return n_consts.FLOATINGIP_STATUS_ACTIVE
 
     def remove_floating_ip(self, device, ip_cidr):
         self._remove_vip(ip_cidr)
Comment 3 Assaf Muller 2016-01-13 10:49:51 EST
*** Bug 1295202 has been marked as a duplicate of this bug. ***
Comment 6 Assaf Muller 2016-01-22 09:49:50 EST
Automation blocker, setting to urgent/urgent.
Comment 7 Assaf Muller 2016-01-26 10:27:55 EST
*** Bug 1299592 has been marked as a duplicate of this bug. ***
Comment 8 Assaf Muller 2016-02-01 11:24:10 EST
*** Bug 1303664 has been marked as a duplicate of this bug. ***
Comment 12 Alexander Stafeyev 2016-02-08 08:36:47 EST
Liberty 

openstack-neutron-7.0.1-9.el7ost

[stack@instack ~]$ neutron floatingip-list
+--------------------------------------+------------------+---------------------+--------------------------------------+
| id                                   | fixed_ip_address | floating_ip_address | port_id                              |
+--------------------------------------+------------------+---------------------+--------------------------------------+
| 1353280b-983c-40d4-abb8-7d1164059e3c | 192.168.1.5      | 192.0.2.151         | c9374c64-42b3-42c5-8fe6-d6227e7341bf |
+--------------------------------------+------------------+---------------------+--------------------------------------+
[stack@instack ~]$ neutron floatingip-show 1353280b-983c-40d4-abb8-7d1164059e3c
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| fixed_ip_address    | 192.168.1.5                          |
| floating_ip_address | 192.0.2.151                          |
| floating_network_id | 549e2775-8883-4882-97ce-299f53318a9c |
| id                  | 1353280b-983c-40d4-abb8-7d1164059e3c |
| port_id             | c9374c64-42b3-42c5-8fe6-d6227e7341bf |
| router_id           | bb7117c8-53ee-433b-9da5-a8ac9c711289 |
| status              | ACTIVE                               |
| tenant_id           | 4bad34f9e5a144afa52b6520f7359de9     |
+---------------------+--------------------------------------+
Comment 13 errata-xmlrpc 2016-04-07 17:13:45 EDT
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-0603.html

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