yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #39921
[Bug 1461647] Re: HA - creating an ha router fails with internal sever error
*** 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
References