Description of problem:
I restart openvswitch service on compute/controller node and it looks like the open flows were deleted and not return cause ovn-controller is not reprogramming the flows.
when openvswitch service is restarted, it is expected that ovn-controller should reprogram the flows
when we don't have flow the system is down.
The issue gets resolved only when ovn-controller is restarted
I expected that ovn will detect that the service was restarted and create the flow again
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.deploy osp13 ovn ha setup (found on dvr setup)
2.systemctl restart openvswitch.service (on compute / controler node)
3.ovs-ofctl dump-flows br-in no flows
4. restart ovn docker the flow will be reprogram
the bug found on :
[root@controller-0 ~]# cat /etc/yum.repos.d/latest-installed
13 -p 2018-04-03.3
[root@controller-0 ~]# rpm -qa |grep ovn
I think this needs to go to openvswitch component.
I tested in a devstack environment and after restart of openvswitch, ovn-controller is programming the flows back.
In OSP13, ovn-controller is containerized and openvswitch is systemd service. When ovn-controller container is started as - docker start --net=host -v /run/openvswitch:/run/openvswitch ...
When openvswitch service is stopped, it deletes the /run/openvswitch dir and the run time files of ovn-controller files also gets deleted. When openvswitch service restarts, probably ovn-controller container is not able to access the /run/openvswitch/db.sock.
I will investigate it further.
numan, you sent a patch for this, right'?
Miguel yes. The fix right now is in tripleo - https://github.com/openstack/tripleo-heat-templates/commit/49963bc180139300afc1a968bfab3f2904f2c09d. Merged in master and queens branch.
But I think it should be addressed properly in openvswitch. I remember seeing a patch upstream to handle this. I think Aaron is aware of it - https://mail.openvswitch.org/pipermail/ovs-dev/2018-April/346080.html
@Aaron - Do you think it can be fixed in ovs. Basically we don't want /run/openvswitch folder to be deleted when openvswitch service is stopped. In openstack OVN tripleo deployment, ovn-controller is started as a docker service. Earlier we were mounting /run/openvswitch host folder in the ovn-controller container. To fix this issue, we now mount /run. Please let me know if you want more information or context.
Moving back to Assigned until completed.
The proper solution to this issue is to have a separate runtime dir for OVN.
The BZ - https://bugzilla.redhat.com/show_bug.cgi?id=1684419 is seen for the same reason.
So I think we can close this BZ in favor of https://bugzilla.redhat.com/show_bug.cgi?id=1684419.
*** This bug has been marked as a duplicate of bug 1684419 ***