yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #45377
[Bug 1522482] Re: dvr gateway port fails in _validate_shared_update
Reviewed: https://review.openstack.org/253155
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=08d720e1caed67364b0e4859f03a861b233075e6
Submitter: Jenkins
Branch: master
commit 08d720e1caed67364b0e4859f03a861b233075e6
Author: lzklibj <lzklibj@xxxxxxxxxx>
Date: Fri Dec 4 02:34:59 2015 +0800
fix _validate_shared_update for dvr router ports
When trying to update external network from shared to not,
_validate_shared_update will be called to validate ports
on external network to confirm that, except router ports,
there is no port from other tenants. If some other tenants
ports still exist on external network, shared attribute
updating will fail.
However, current _validate_shared_update will only ignore router
ports with device_owner such as DEVICE_OWNER_ROUTER_GW and
DEVICE_OWNER_FLOATINGIP when query ports, but indeed ports with
device_owner such as DEVICE_OWNER_AGENT_GW and DEVICE_OWNER_ROUTER_SNAT
should be skipped, otherwise an empty tenant_id like '' will cause
_validate_shared_update fails to work as expected.
Change-Id: Ibf5daf14192ce51d4e9ce10dc0c806ea230adec3
Closes-Bug: #1522482
** 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/1522482
Title:
dvr gateway port fails in _validate_shared_update
Status in neutron:
Fix Released
Bug description:
### env ###
upstream code
DVR enabled
2 network nodes(l3 agent running in dvr_snat mode), 1 compute node(l3 agent running in dvr mode)
2 tenants: admin and demo
### steps(by admin) ###
1, create external network and internal network, create subnets for the two networks,
2, create a router(dvr default), attach external network as router gateway, attach internal network as router interface;
3, verify router schedules success by "neutron l3-agent-list-hosting-router" or "ip netns"
4, create a floatingip, boot a VM on internal subnet, and associate floatingip to VM;
5, verify the dvr and floatingip related ports are created by "neutron port-list -c device_owner"
6, run "neutron net-update EXTERNAL-NETWORK --shared False"
expected: "Updated network: EXTERNAL-NETWORK"
observed: "Unable to reconfigure sharing settings for network EXTERNAL-NETWORK. Multiple tenants are using it."
### analyse ###
1, even all ports on EXTERNAL-NETWORK are belong to admin tenant, still fail to update EXTERNAL-NETWORK shared attribute.
2, _validate_shared_update fails to work as expected for not all ports on EXTERNAL-NETWORK have tenant_id.
3, following dvr and floatingip related ports have no tenant_id, _validate_shared_update need be fixed for them:
fg: network:floatingip_agent_gateway
sg: network:router_centralized_snat
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1522482/+subscriptions
References