Public bug reported:

test_router_add_interface_port may fail when an internal metadata network is
created during add_router_interface action.

The potential problem is introduced by Commit 6281fddbcb4c
(https://review.openstack.org/#/c/285048/)
which adds an additional update_port inside add_router_interface()
to update device_id and device_owner on the newly created router port.

The problem could happen when users attach a subnet (for example 10.0.0.0/24)
to a router. During the add_router_interface action, vendor's plugin may
create an internal metadata subnet (such as 169.254.169.252/30) and attach
it to the same router. Since two router ports (10.0.0.1 and 169.254.169.253)
are created during this operation, the extra update_port was called for both
router ports.

Before Commit 6281fddbcb4c, test_router_add_interface_port only saw one
update_port call on 10.0.0.1. After the change, it now sees three
update_port calls, two on 10.0.0.1 and one on 169.254.169.253. Because it
doesn't expect to see the update_port call on port 169.254.169.253 (which is
the last update_port call), the update_port.assert_called_with() fails.

** Affects: neutron
     Importance: Undecided
     Assignee: Shih-Hao Li (shihli)
         Status: In Progress

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1612896

Title:
  test_router_add_interface_port may fail due to extra port created

Status in neutron:
  In Progress

Bug description:
  test_router_add_interface_port may fail when an internal metadata network is
  created during add_router_interface action.

  The potential problem is introduced by Commit 6281fddbcb4c
  (https://review.openstack.org/#/c/285048/)
  which adds an additional update_port inside add_router_interface()
  to update device_id and device_owner on the newly created router port.

  The problem could happen when users attach a subnet (for example 10.0.0.0/24)
  to a router. During the add_router_interface action, vendor's plugin may
  create an internal metadata subnet (such as 169.254.169.252/30) and attach
  it to the same router. Since two router ports (10.0.0.1 and 169.254.169.253)
  are created during this operation, the extra update_port was called for both
  router ports.

  Before Commit 6281fddbcb4c, test_router_add_interface_port only saw one
  update_port call on 10.0.0.1. After the change, it now sees three
  update_port calls, two on 10.0.0.1 and one on 169.254.169.253. Because it
  doesn't expect to see the update_port call on port 169.254.169.253 (which is
  the last update_port call), the update_port.assert_called_with() fails.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to