*** This bug is a duplicate of bug 1461519 ***
    https://bugs.launchpad.net/bugs/1461519

** Also affects: neutron/kilo
   Importance: Undecided
       Status: New

** No longer affects: neutron/kilo

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

Title:
  HA - creating an ha router fails with internal sever error

Status in neutron:
  Fix Committed

Bug description:
  When use attempts to create an ha router, the creation fails with an internal 
server error message. 
  After the first attempt, the command "neutron net-list" starts to fail with 
internal error as well. 

  The cause seems to be the creation of the ha_network. 
  After the first attempt to create the ha router, an ha_network gets created, 
then any access to that network (by net-list or attaching the router to it) 
causes an error which looks like the trace below. 

  The problem is that the ha network does not have a PortSecurityBinding
  associated with it because it is not created with the appropriate
  security_port_enabled value.

  
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource Traceback (most 
recent call last):
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/resource.py", line 83, in resource
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     result = 
method(request=request, **args)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/base.py", line 461, in create
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     obj = 
obj_creator(request.context, **kwargs)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/l3_hamode_db.py", line 376, in create_router
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
self.delete_router(context, router_dict['id'])
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 85, in 
__exit__
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/l3_hamode_db.py", line 372, in create_router
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
self._create_ha_interfaces(context, router_db, ha_network)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/l3_hamode_db.py", line 328, in 
_create_ha_interfaces
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
l3_port_check=False)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 85, in 
__exit__
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/l3_hamode_db.py", line 322, in 
_create_ha_interfaces
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
router.tenant_id)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/l3_hamode_db.py", line 303, in add_ha_port
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     'name': 
constants.HA_PORT_NAME % tenant_id}})
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1002, in create_port
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     result, 
mech_context = self._create_port_db(context, port)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 984, in _create_port_db
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     network = 
self.get_network(context, result['network_id'])
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 669, in get_network
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     result = 
super(Ml2Plugin, self).get_network(context, id, None)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1024, in get_network
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     return 
self._make_network_dict(network, fields)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 874, in 
_make_network_dict
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
attributes.NETWORKS, res, network)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/common_db_mixin.py", line 163, in 
_apply_dict_extend_functions
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     func(*args)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 488, in 
_ml2_md_extend_network_dict
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
self.extension_manager.extend_network_dict(session, netdb, result)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 804, in 
extend_network_dict
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
driver.obj.extend_network_dict(session, base_model, result)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/extensions/port_security.py", line 60, 
in extend_network_dict
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
self._extend_port_security_dict(result, db_data)
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/extensions/port_security.py", line 67, 
in _extend_port_security_dict
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource     
db_data['port_security'][psec.PORTSECURITY])
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource TypeError: 
'NoneType' object has no attribute '__getitem__'
  2015-06-02 21:50:04.022 56731 TRACE neutron.api.v2.resource

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1461647/+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