← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1965807] Re: Bulk port creation breaks IPAM module when driver port creation fails

 

Reviewed:  https://review.opendev.org/c/openstack/neutron/+/834536
Committed: https://opendev.org/openstack/neutron/commit/83b6ce9e9ec2f0261fed630e18cbe9cfa363a0dd
Submitter: "Zuul (22348)"
Branch:    master

commit 83b6ce9e9ec2f0261fed630e18cbe9cfa363a0dd
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date:   Wed Mar 16 16:32:31 2022 +0000

    Remove exception ``IpAddressAllocationNotFound``
    
    This patch removes the ``IpAddressAllocationNotFound`` exception. This
    exception was raised when a IPAM register was called to be deleted
    but not found.
    
    As reported in the LP bug, this IPAM register deletion can be called
    several times if a port fails during the creation. The IPAM register
    deletion calls the DB deletion but doesn't raise any exception if the
    register does not exist. The code ensures the IPAM register is
    deleted and there is no need to fail if it is not present anymore.
    
    This patch also removes the exception catch and try in "update_port",
    that was added in [0] as a fix for [1]. That was added because the
    subnet deletion code involved a port update call [2] during the
    IP allocation deletion, if any port was still present in the subnet.
    Since [3], this code is not needed because the subnet deletion does
    not call a port update anymore.
    
    [0]https://review.opendev.org/c/openstack/neutron/+/373536
    [1]https://bugs.launchpad.net/neutron/+bug/1622616
    [2]https://github.com/openstack/neutron/blob/pike-em/neutron/db/db_base_plugin_v2.py#L1017-L1018
    [3]https://review.opendev.org/c/openstack/neutron/+/713045
    
    Closes-Bug: #1965807
    Related-Bug: #1954763
    Related-Bug: #1622616
    
    Change-Id: I5b96b3a91aacffe118ddbb91a75c4892818ba97a


** 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/1965807

Title:
  Bulk port creation breaks IPAM module when driver port creation fails

Status in neutron:
  Fix Released

Bug description:
  This bug is related to
  https://bugs.launchpad.net/neutron/+bug/1954763.

  There is a problem with the IPAM module, [1] and ML2 OVN driver. When
  a port is created in "create_port_bulk", we first create the IPAM
  allocations [1], to save time and DB accesses.

  However, if one port fails in the driver call, the port is deleted. In
  this port deletion, the IPAM reservation is deleted too. At the end of
  "create_port_bulk", the previously created IPAM reservations are
  deleted too (again). This is what is triggering the error in the
  Neutron server [2]. The DB now has a port register, a IP allocation
  register but not an IPAM allocation register. That prevents from
  deleting manually this port (error 500).

  Red Hat bugzilla reference:
  https://bugzilla.redhat.com/show_bug.cgi?id=2065634

  [1]https://review.opendev.org/q/I8877c658446fed155130add6f1c69f2772113c27
  [2]https://paste.opendev.org/show/b6e3INfzhPTkOFW5fhPb/

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



References