← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1951149] [NEW] [OVN] If "chassis" register is deleted, "chassis_private" can have 0 "chassis" associated

 

Public bug reported:

When a OVN SB "chassis" register is deleted, the "chassis_private"
register will have no "chassis" associated.

In a healthy environment, with the ovn-controller service running, if
the host "chassis" register is deleted, the ovn-controller will create
it again.

If the ovn-controller didn't finish gracefully, it will leave both
registers in the SB DB undeleted. To clean up the environment, an
administrator should delete both registers ("chassis_private" and
"chassis") from the SB DB and delete the OVN agents from Neutron.

However, if those steps are done incorrectly, the Neutron server can return an exception. Steps to reproduce this error:
- Kill the ovn-controller.
- Delete the "chassis" register.
- Restart the Neutron server. Neutron does not attend to "chassis" events. We need to restart the server to retrieve the "chassis_private" SB register with "chassis=[]" [1]
- List the network agents. This method [2] will return L50, as a "chassis" register. This is incorrect and will fail with [3].

[1]https://paste.opendev.org/show/811040/
[2]https://github.com/openstack/neutron/blob/83c6d23308c475e2cd7f1af858e26d14d0cba8fb/neutron/plugins/ml2/drivers/ovn/agent/neutron_agent.py#L44-L50
[2]https://paste.opendev.org/show/811041/

** Affects: neutron
     Importance: Medium
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

** Changed in: neutron
   Importance: Undecided => Medium

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1951149

Title:
  [OVN] If "chassis" register is deleted, "chassis_private" can have 0
  "chassis" associated

Status in neutron:
  New

Bug description:
  When a OVN SB "chassis" register is deleted, the "chassis_private"
  register will have no "chassis" associated.

  In a healthy environment, with the ovn-controller service running, if
  the host "chassis" register is deleted, the ovn-controller will create
  it again.

  If the ovn-controller didn't finish gracefully, it will leave both
  registers in the SB DB undeleted. To clean up the environment, an
  administrator should delete both registers ("chassis_private" and
  "chassis") from the SB DB and delete the OVN agents from Neutron.

  However, if those steps are done incorrectly, the Neutron server can return an exception. Steps to reproduce this error:
  - Kill the ovn-controller.
  - Delete the "chassis" register.
  - Restart the Neutron server. Neutron does not attend to "chassis" events. We need to restart the server to retrieve the "chassis_private" SB register with "chassis=[]" [1]
  - List the network agents. This method [2] will return L50, as a "chassis" register. This is incorrect and will fail with [3].

  [1]https://paste.opendev.org/show/811040/
  [2]https://github.com/openstack/neutron/blob/83c6d23308c475e2cd7f1af858e26d14d0cba8fb/neutron/plugins/ml2/drivers/ovn/agent/neutron_agent.py#L44-L50
  [2]https://paste.opendev.org/show/811041/

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1951149/+subscriptions



Follow ups