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.
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)
*** Bug 1295202 has been marked as a duplicate of this bug. ***
Automation blocker, setting to urgent/urgent.
*** Bug 1299592 has been marked as a duplicate of this bug. ***
*** Bug 1303664 has been marked as a duplicate of this bug. ***
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 | +---------------------+--------------------------------------+
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