Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1653713

Summary: When the openvswitch vswitchd process is restarted in a compute node the vm conectivity is lost when using l2pop
Product: Red Hat OpenStack Reporter: Candido Campos <ccamposr>
Component: openstack-neutronAssignee: Slawek Kaplonski <skaplons>
Status: CLOSED ERRATA QA Contact: Roee Agiman <ragiman>
Severity: high Docs Contact:
Priority: low    
Version: 14.0 (Rocky)CC: amuller, bcafarel, bhaley, chrisw, skaplons, tfreger, tvignaud
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: 14.0 (Rocky)   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-neutron-13.0.3-0.20190119134915.886782c.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-18 12:57:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Logs of openvswitch none

Description Candido Campos 2018-11-27 13:31:33 UTC
Created attachment 1508849 [details]
Logs of openvswitch

Description of problem:

launchpad link:

https://bugs.launchpad.net/neutron/+bug/1804842 

Enviroment:

 OSP 14

 3 controllers + 3 computes + dvr

 several vms in one compute with fip.


 The Connectivity between vms and with the fips is lost after restart the ovs switch process  in the compute node.

 The conectivity between vms is recovered restarting ovs switch docker.  

 Fip connectivity is recovered restarting all neutron dockers.


Steps to Reproduce:
 1. Install a baremetal with RHEL(theforeman)
 2. Intall with jenkins: OSP 14 -- 3 controllers + 3 computes + dvr
 3. Create sever vms with a Fip
 4. Kill/restart openvswitch in a compuete node

Actual results:

 Lost connectivity with fips and between vms

Expected results:

 No connectivity problems

Additional info:

(overcloud) [stack@undercloud-0 ~]$ openstack server list
+--------------------------------------+------------------------+---------+------------------------------------+--------+--------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------------------+---------+------------------------------------+--------+--------+
| 7716bfde-d441-4c07-9bb8-b290607a6d4e | selfservice-instance4 | SHUTOFF | selfservice3=10.3.0.16 | cirros | cirros |
| 521d8243-8255-4746-a8d9-5d5d2035a2a1 | selfservice3-instance2 | ACTIVE | selfservice3=10.3.0.8 | cirros | cirros |
| 164dd0d7-cb1e-45ad-abbf-0f8de6dd9f97 | selfservice3-instance | ACTIVE | selfservice3=10.3.0.25 | cirros | cirros |
| 9d21306a-4e6d-4250-9936-9f8ac0895911 | selfservice2-instance5 | ACTIVE | selfservice2=10.2.0.6 | cirros | cirros |
| 05797371-111d-419b-9199-c787f52f0555 | selfservice2-instance3 | ACTIVE | selfservice2=10.2.0.5 | cirros | cirros |
| 6d68a21d-5361-4e37-b0a6-4a9ebfea3e82 | selfservice2-instance2 | ACTIVE | selfservice2=10.2.0.18 | cirros | cirros |
| aa3eed0a-473b-4e71-9c33-23e7aef09f44 | selfservice2-instance | ACTIVE | selfservice2=10.2.0.23, 10.0.0.232 | cirros | cirros |
| d4ad2ca9-21ec-40e6-897d-5ec48e77765f | selfservice-instance3 | ACTIVE | selfservice=10.1.0.5 | cirros | cirros |
| ed68c202-2a57-4078-b459-4e5650adc185 | selfservice-instance2 | ACTIVE | selfservice=10.1.0.20 | cirros | cirros |
| ba63ce4f-f5d6-4634-bd40-868a57c4ecfd | selfservice-instance | ACTIVE | selfservice=10.1.0.12, 10.0.0.234 | cirros | cirros |
+--------------------------------------+------------------------+---------+------------------------------------+--------+--------+
(overcloud) [stack@undercloud-0 ~]$
(overcloud) [stack@undercloud-0 ~]$
(overcloud) [stack@undercloud-0 ~]$ . stackrc
(undercloud) [stack@undercloud-0 ~]$ openstack server list
+--------------------------------------+--------------+--------+------------------------+----------------+------------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+--------------+--------+------------------------+----------------+------------+
| b71c1bab-8e11-4958-bb36-1556c9711e57 | controller-0 | ACTIVE | ctlplane=192.168.24.11 | overcloud-full | controller |
| c4a66c10-b213-4aaa-b575-b69872fd8d28 | controller-2 | ACTIVE | ctlplane=192.168.24.21 | overcloud-full | controller |
| b0cd4f07-3b9b-4f5f-baea-bbaf8454c6f6 | controller-1 | ACTIVE | ctlplane=192.168.24.7 | overcloud-full | controller |
| 97fb6e74-bc9b-4a9e-b369-895fd1401277 | compute-2 | ACTIVE | ctlplane=192.168.24.12 | overcloud-full | compute |
| 0c4d8ad5-6c0a-4508-98ed-34c263b98960 | compute-0 | ACTIVE | ctlplane=192.168.24.6 | overcloud-full | compute |
| 01a11464-a9ab-4f97-a87f-cf7f1290599c | compute-1 | ACTIVE | ctlplane=192.168.24.9 | overcloud-full | compute |
+----...


Reprodcution logs attached:

[heat-admin@compute-2 ~]$ sudo su 
[root@compute-2 heat-admin]# date;systemctl restart openvswitch
Mon Nov 26 08:52:14 UTC 2018
[root@compute-2 heat-admin]# 
[root@compute-2 heat-admin]# 
[root@compute-2 heat-admin]# date;docker restart neutron_ovs_agent
Mon Nov 26 08:53:19 UTC 2018
neutron_ovs_agent



overcloud) [stack@undercloud-0 ~]$ openstack versions show
+-------------+----------------+---------+------------+-----------------------------------+------------------+------------------+
| Region Name | Service Type | Version | Status | Endpoint | Min Microversion | Max Microversion |
+-------------+----------------+---------+------------+-----------------------------------+------------------+------------------+
| regionOne | block-storage | 2.0 | DEPRECATED | http://10.0.0.101:8776/v2/ | None | None |
| regionOne | block-storage | 3.0 | CURRENT | http://10.0.0.101:8776/v3/ | 3.0 | 3.55 |
| regionOne | placement | None | CURRENT | http://10.0.0.101:8778/placement/ | None | None |
| regionOne | network | 2.0 | CURRENT | http://10.0.0.101:9696/v2.0/ | None | None |
| regionOne | alarm | 2.0 | CURRENT | http://10.0.0.101:8042/v2 | None | None |
| regionOne | cloudformation | 1.0 | CURRENT | http://10.0.0.101:8000/v1/ | None | None |
| regionOne | event | 2.0 | CURRENT | http://10.0.0.101:8977/v2 | None | None |
| regionOne | orchestration | 1.0 | CURRENT | http://10.0.0.101:8004/v1/ | None | None |
| regionOne | object-store | 1.0 | CURRENT | http://10.0.0.101:8080/v1/ | None | None |
| regionOne | compute | 2.0 | SUPPORTED | http://10.0.0.101:8774/v2/ | None | None |
| regionOne | compute | 2.1 | CURRENT | http://10.0.0.101:8774/v2.1/ | 2.1 | 2.65 |
| regionOne | image | 2.0 | SUPPORTED | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | image | 2.1 | SUPPORTED | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | image | 2.2 | SUPPORTED | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | image | 2.3 | SUPPORTED | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | image | 2.4 | SUPPORTED | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | image | 2.5 | SUPPORTED | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | image | 2.6 | SUPPORTED | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | image | 2.7 | CURRENT | http://10.0.0.101:9292/v2/ | None | None |
| regionOne | metric | 1.0 | CURRENT | http://10.0.0.101:8041/v1/ | None | None |
| regionOne | identity | 3.10 | CURRENT | http://10.0.0.101:5000/v3/ | None | None |
+-------------+----------------+---------+------------+-----------------------------------+------------------+------------------+
(overcloud) [stack@undercloud-0 ~]$ cat /etc/re
redhat-lsb/ redhat-release request-key.conf request-key.d/ resolv.conf
(overcloud) [stack@undercloud-0 ~]$ cat /etc/re
redhat-lsb/ redhat-release request-key.conf request-key.d/ resolv.conf
(overcloud) [stack@undercloud-0 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)

Comment 1 Candido Campos 2018-11-27 13:33:04 UTC
The problem seems be that the flows are not reloaded in the open vswitch when it is restarted

Comment 2 Candido Campos 2018-11-27 13:44:35 UTC
*** Bug 1653319 has been marked as a duplicate of this bug. ***

Comment 3 Brian Haley 2018-11-27 20:19:16 UTC
This looks like it could be https://bugs.launchpad.net/neutron/+bug/1775146 which was cherry-picked to stable/rocky in https://review.openstack.org/#/c/604494/ but not in our downstream branch.  I will start a cherry-pick.

Comment 4 Slawek Kaplonski 2018-11-28 09:38:00 UTC
@Brian: I'm not sure if that is the same issue like https://bugs.launchpad.net/neutron/+bug/1775146 - please note that here we are talking about restart of openvswitch and in U/S bug it was issue after restart of neutron-openvswitch-agent.

Comment 5 Candido Campos 2018-11-28 12:52:59 UTC
fip conectivity is recovered restarting neutron metadata agent:

[root@compute-2 heat-admin]# docker restart neutron_metadata_agent
neutron_metadata_agent
[root@compute-2 heat-admin]#

Comment 6 Slawek Kaplonski 2018-11-28 14:26:49 UTC
Today I debug this issue with Candido on his deployment. It looks that after

systemctl restart ovs-vswitchd

we have 2 different issues:

1. problem with neutron-ovs-agent - it didn't configure properly open flow rules in br-tun thus private vxlan network didn't work - restart of neutron-ovs-agent fixed this. 

2. problem with neutron-l3-agent - it didn't noticed that ovs-vswitchd process was restarted and didn't recreate qg-XXX port in qrouter- namespace, thus FIP connectivity didn't work. Restart of neutron-l3-agent container fixed this.

Should we split this bug for 2 different ones then? Or should we track them together here?

Comment 7 Slawek Kaplonski 2018-11-28 15:00:56 UTC
According to issue with vxlan networks in neutron-ovs-agent, I think that there is bug in L2pop mechanism driver: after ovs-vswitchd is restarted, it should reconfigure all fdb flows in the same way as it is done when neutron-ovs-agent is restarted but l2 mech_driver don't send all fdb flows to agent as this agent wasn't just restarted.
I will need to check this issue on U/S code from master branch also to confirm but looking at the code now, I think that the bug is the same in U/S master and also in previous releases.

Comment 8 Slawek Kaplonski 2018-11-28 16:06:11 UTC
So for bug with L3 agent I opened another bug: https://bugzilla.redhat.com/show_bug.cgi?id=1654371

Lets use this one to track issue with neutron-ovs-agent and L2pop mechanism driver.

Comment 10 Slawek Kaplonski 2018-11-28 21:37:13 UTC
It looks like there are 2 issues here still:

1. With L2 population - I should have fix tomorrow
2. When openvswitch firewall driver is used, even if tunnels are set properly there is something missing in br-int because outgoing traffic from VM is blocked until neutron-ovs-agent will be restarted again.

Comment 11 Brian Haley 2018-11-28 21:53:28 UTC
Created https://bugzilla.redhat.com/show_bug.cgi?id=1654489 for the other issue I found, let's use this for the issue described above.

Comment 12 Slawek Kaplonski 2018-11-29 10:20:41 UTC
I found that there is indeed also issue with ovs-fw driver. I created separate BZ to track this one too: https://bugzilla.redhat.com/show_bug.cgi?id=1654643

Comment 13 Slawek Kaplonski 2018-12-10 09:52:54 UTC
Patch merged in U/S stable/rocky branch. Should be available in OSP-14 with first z-stream

Comment 17 errata-xmlrpc 2019-03-18 12:57:08 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://access.redhat.com/errata/RHBA-2019:0585