yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #88703
[Bug 1951149] Re: [OVN] If "chassis" register is deleted, "chassis_private" can have 0 "chassis" associated
Reviewed: https://review.opendev.org/c/openstack/neutron/+/818132
Committed: https://opendev.org/openstack/neutron/commit/f1a5511e9094d6aae7a61cd858c59c706033ca95
Submitter: "Zuul (22348)"
Branch: master
commit f1a5511e9094d6aae7a61cd858c59c706033ca95
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date: Wed Nov 17 17:33:29 2021 +0000
[OVN] Handle OVN agents when "Chassis" register is deleted
If an "ovn-controller" ends not gracefully, the node "Chassis" and
"Chassis_Private" registers will remain in the OVN SB database.
Because there is no a mandatory procedure to delete the "Chassis"
and "Chassis_Private" registers, the administrator can manually
delete, from the OVN SB database, any register in any order.
If the "Chassis" register is deleted and the Neutron server restarted,
the updated "Chassis_Private" register will be read from the database.
That won't contain the "Chassis" information as this register has been
deleted. In this case, the ``NeutronAgent`` returns ``DeletedChassis``,
an empty chassis register with no information.
NOTE: the sequence of actions ("Chassis" register deletion, Neutron
server restart) must be follow to reproduce this issue. If the
"Chassis" register is deleted, the Neutron server OVN agent local cache
won't update the stored information and will keep the previous value.
It is when the Neutron server is restarted when the OVN agent local
cache is retrieved again; at this time the "Chassis_Private" register
won't have any related "Chassis" register.
Closes-Bug: #1951149
Change-Id: I17aa53cea6aba8ea83187c99102a6f25fd33cfff
** Changed in: neutron
Status: In Progress => Fix Released
--
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:
Fix Released
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
References