Comment 5 for bug 1890432

Revision history for this message
Frode Nordahl (fnordahl) wrote :

Adding upstream Neutron project to this LP.

The lock contention arises from the update of the metadata_port:
https://github.com/openstack/neutron/blob/24590a334fff0ed1cb513b0f496be965bc9309d4/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py#L2111
https://github.com/openstack/neutron/blob/24590a334fff0ed1cb513b0f496be965bc9309d4/neutron/db/ipam_backend_mixin.py#L653-L680

Updating the fixed_ips field of the metadata_port will make Neutron attempt to lock all the subnets involved regardless of update_metadata_port only changing one subnet or all of them.

I wonder how the OVS driver dealt with this, as it would have the exact same issue.

Perhaps the only option is for Neutron to gracefully ignore a update_metadata_port failure at subnet creation and update the metadata port at a later time in one of its maintenance jobs.