← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1697324] Re: _delete_segments_for_network callback fails with routed networks

 

Reviewed:  https://review.openstack.org/475955
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=eaf7e65469d38156b2a38f62cf75d9f8015aaa0c
Submitter: Zuul
Branch:    master

commit eaf7e65469d38156b2a38f62cf75d9f8015aaa0c
Author: Miguel Lavalle <malavall@xxxxxxxxxx>
Date:   Tue Jun 20 23:25:24 2017 +0000

    Move segment deletion back to PRECOMMIT_DELETE
    
    This essentially reverts commit 12d24abba75ab3b926edbac389437bacc23914dd.
    
    Making the callback _delete_segments_for_network respond to
    BEFORE_DELETE network event has created some bugs. In one of them,
    it is not possible to delete a routed network, because the segments
    cannot be deleted due to the fact that the associated subnets still
    exist.
    
    Making _delete_segments_for_network respond to PRECOMMIT_DELETE
    introduces a StaleDataError with the standard attributes of the
    deleted segments. To work around that, network_db is expired and
    read again after notifying the PRECOMMIT_DELETE event in
    delete_network in the DB core plug-in.
    
    This also fixes an issue where we could delete the segment ID
    of the l3-ha network when deleting a router, leaving all other
    routers non-functioning.  Moving this to PRECOMMIT_DELETE fixes
    it since it is done after we have checked that the network is
    not in use and can be deleted.
    
    Closes-Bug: #1697324
    Closes-Bug: #1732543
    
    Change-Id: I7c3c4654f183b317647a28d599a538fe460db68f


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

Title:
   _delete_segments_for_network callback fails with routed networks

Status in neutron:
  Fix Released

Bug description:
  Before deleting a network,
  neutron.services.segments.db._delete_segments_for_network callback
  fails to delete the network's segments in the case of a routed
  network. This is due to the fact that in a routed network, segments
  are associated to subnets with a foreign key DB relationship.
  Therefore, a segment cannot be deleted before clearing the segment_id
  attribute in all the related subnets. Otherwise, the foreign key
  constraint is violated.

  This has been uncovered during work to add segment api tests to the
  gate: https://review.openstack.org/#/c/353115/. When the tearDown
  method of the tempest test is executed, the following traceback can be
  seen in the q-svc screen: http://paste.openstack.org/raw/612268/

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


References