Disallow create port if network is not shared and port/net tenant_id doesn't match

Bug #1279751 reported by Zang MingJie
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
In Progress
Undecided
Zang MingJie

Bug Description

Admin user is able to create port whose tenant is different from the owner network even the network is not shared. It isn't intended.

The port is usable, but if trying to detach the port from an instance, the following exception occurred:

2014-02-13 18:29:23.922 18042 ERROR nova.openstack.common.rpc.amqp [req-63a58698-42cb-4e83-99eb-46bb419c1b35 87009c0961304b17a93031efd3f1651d 0867dafdae904943b4a846870b717fda] Excepti
on during message handling
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp **args)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp result = getattr(proxyobj, method)(ctxt, **kwargs)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 400, in decorated_function
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp return function(self, context, *args, **kwargs)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 90, in wrapped
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp payload)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 73, in wrapped
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp return f(self, context, *args, **kw)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 290, in decorated_function
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp pass
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 276, in decorated_function
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp return function(self, context, *args, **kwargs)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 341, in decorated_function
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp function(self, context, *args, **kwargs)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 318, in decorated_function
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp e, sys.exc_info())
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 305, in decorated_function
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp return function(self, context, *args, **kwargs)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2142, in terminate_instance
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp do_terminate_instance(instance, bdms, clean_shutdown)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/openstack/common/lockutils.py", line 248, in inner
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp return f(*args, **kwargs)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2134, in do_terminate_instance
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp reservations=reservations)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/hooks.py", line 105, in inner
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp rv = f(*args, **kwargs)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2105, in _delete_instance
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp user_id=user_id)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2077, in _delete_instance
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp clean_shutdown=clean_shutdown)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1967, in _shutdown_instance
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp network_info = self._get_instance_nw_info(context, instance)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1043, in _get_instance_nw_info
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp instance)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/network/neutronv2/api.py", line 455, in get_instance_nw_info
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp result = self._get_instance_nw_info(context, instance, networks)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/network/neutronv2/api.py", line 463, in _get_instance_nw_info
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp nw_info = self._build_network_info_model(context, instance, networks)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/network/neutronv2/api.py", line 1009, in _build_network_info_model
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp subnets)
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/network/neutronv2/api.py", line 962, in _nw_info_build_network
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp label=network_name,
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp UnboundLocalError: local variable 'network_name' referenced before assignment
2014-02-13 18:29:23.922 18042 TRACE nova.openstack.common.rpc.amqp

Changed in neutron:
assignee: nobody → Zang MingJie (zealot0630)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/73242

Changed in neutron:
status: New → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.