← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1581348] Re: Can't delete a v4 csnat port when there is a v6 router interface attached

 

Reviewed:  https://review.openstack.org/315926
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=084173338e5e21ff37f042f69718237b94843665
Submitter: Jenkins
Branch:    master

commit 084173338e5e21ff37f042f69718237b94843665
Author: Hong Hui Xiao <xiaohhui@xxxxxxxxxx>
Date:   Fri May 13 07:12:57 2016 +0000

    DVR: Fix check multiprefix when delete ipv4 router interface
    
    Current code will prevent from deleting router centralized snat port,
    when there is a ipv6 subnet attatched to DVR.
    
    This is correct when deleting a v6 router centralized snat port, because
    multiple v6 subnets share one router port.
    
    But it is not correct when deleteing a v4 router centralized snat port,
    because v4 subnet doesn't share router port with v6 subnet. Deleteing a
    v4 router centralized snat port should be allowed no matter if there is
    v6 subnet attached to DVR.
    
    Change-Id: I2d06c8c79f9ff9a9300a94bcbbae13569e4d963e
    Closes-bug: #1581348


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

Title:
  Can't delete a v4 csnat port when there is a v6 router interface
  attached

Status in neutron:
  Fix Released

Bug description:
  Reproduce:
  1) I enable DVR in devstack. After installation, there is a DVR, an ipv4+ipv6 router gateway in DVR, an ipv4 router interface in DVR, and an ipv6 router interface in DVR.

  2) I want to use delete the v4 subnet. So, I delete the ipv4 router gateway.
  [fedora@normal-dvr devstack]$ neutron router-interface-delete router1 private-subnet
  Removed interface from router router1.

  3) I try to delete the v4 subnet, but neutron server tell me that the subnet can't be deleted, because there is still port(s) being used.
  [fedora@normal-dvr devstack]$ neutron subnet-delete private-subnet
  Unable to complete operation on subnet d0282930-95ca-4f64-9ae9-8c22be9cb3ab: One or more ports have an IP allocation from this subnet.

  4) Check the port-list, I found the csnat port is still there.
  [fedora@normal-dvr devstack]$ neutron port-list
  +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+
  | id                                   | name | mac_address       | fixed_ips                                                                                                   |
  +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+

  | bf042acf-40d5-4503-b62e-7389a6fc9bca |      | fa:16:3e:47:a5:40 | {"subnet_id": "d0282930-95ca-4f64-9ae9-8c22be9cb3ab", "ip_address": "10.0.0.3"}                             |
  +--------------------------------------+------+-------------------+-------------------------------------------------------------------------------------------------------------+

  5) But look into the snat namespace, there is no such port there.

  
  Then I can't delete the subnet, because the port is there. I can't delete the port, because the port has a device owner network:router_centralized_snat. I even can't attach the subnet back to DVR, neutron server will tell me:  Router already has a port on subnet.

  This problem will not be reproduce if there is no ipv6 subnet attached
  to DVR.

  Expect: Can use ipv4 no matter if there is ipv6 subnet attached to
  DVR.

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


References