Comment 3 for bug 2012104

Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Hello Peter:

That seems to be a problem during an upgrade or compute node re-deployment. The process "ovn-controller", that runs in every node, is in charge of, among other operations, updating the "Chassis"/"Chassis_Private" records in the OVN SB database. When the process is started, it first checks if these records are created or not; when the process is **gracefully** stopped, it deletes them. I've highlighted gracefully because this is important: if the process is killed, the "Chassis"/"Chassis_Private" (or just one of them) will remain in the OVN SB database.

In your case I guess that "Chassis_Private" is still present but not "Chassis". I see the host name changed from "compute1" to "compute1.stack", this is why I'm guessing you did some kind of upgrade/update.

If now you can see the "Chassis"/"Chassis_Private" for "compute1.stack", this is because you have started again "ovn-controller". But that won't delete any orphaned or leftover register. It is a responsibility of the admin to check that when starting again the "ovn-controller" service.

Neutron is not responsible of the OVN SB database and can't delete these orphaned registers. The patch mentioned [1] is a fix for the Neutron server in these kind of situations. Now instead of raising an exception it shows the message "("Chassis" register deleted)" that should be an indication to the admin to check the status of the OVN database.

One more question to confirm: when executing the "os network agent list" command, are you now seeing two registers for "compute1" (deleted ones) and two registers for "compute1.stack"?

Regards.

[1]https://review.opendev.org/c/openstack/neutron/+/839027