** Changed in: horizon
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1495191

Title:
  Create subnet from subnetpool fails in stable/liberty

Status in OpenStack Dashboard (Horizon):
  Fix Released

Bug description:
  Horizon message:
  Error: Failed to create subnet "" for network "None": Request Failed: 
internal server error while processing your request.

  Neutron API message:
  2015-09-13 08:30:19.545 DEBUG neutron.api.v2.base 
[req-9e0ac82f-7bec-4627-bce4-da79637de47f demo 
a73d9746878b47e6b3ac4dfd57d212bd] Request body: {u'subnet': {u'name': 
u'subnet3', u'enable_dhcp': True, u'network_id': 
u'ad740c45-436a-4c65-ad13-982e034279be', u'tenant_id': 
u'a73d9746878b47e6b3ac4dfd57d212bd', u'ip_version': 4, u'prefixlen': u'24', 
u'cidr': None, u'subnetpool_id': u'48806e89-553f-4479-81e2-62120d07f972'}} from 
(pid=25643) prepare_request_body /opt/stack/neutron/neutron/api/v2/base.py:620
  2015-09-13 08:30:19.600 ERROR neutron.api.v2.resource 
[req-9e0ac82f-7bec-4627-bce4-da79637de47f demo 
a73d9746878b47e6b3ac4dfd57d212bd] create failed
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource Traceback (most recent 
call last):
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/resource.py", line 83, in resource
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     result = 
method(request=request, **args)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 146, in wrapper
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     ectxt.value = 
e.inner_exc
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 195, in 
__exit__
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 136, in wrapper
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     return f(*args, 
**kwargs)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/base.py", line 491, in create
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     obj = 
obj_creator(request.context, **kwargs)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 835, in create_subnet
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     result, 
mech_context = self._create_subnet_db(context, subnet)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 824, in 
_create_subnet_db
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     result = 
super(Ml2Plugin, self).create_subnet(context, subnet)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 667, in create_subnet
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     return 
self._create_subnet(context, subnet, subnetpool_id)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 583, in 
_create_subnet
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     subnetpool_id)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/ipam_non_pluggable_backend.py", line 446, in 
allocate_subnet
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     subnet['cidr'])
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/ipam_backend_mixin.py", line 52, in 
_gateway_ip_str
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     return 
str(netaddr.IPNetwork(cidr_net).network + 1)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/netaddr/ip/__init__.py", line 923, in 
__init__
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     implicit_prefix, 
flags)
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/netaddr/ip/__init__.py", line 818, in 
parse_ip_network
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource     raise 
TypeError('unexpected type %s for addr arg' % type(addr))
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource TypeError: unexpected 
type <type 'NoneType'> for addr arg
  2015-09-13 08:30:19.600 TRACE neutron.api.v2.resource 

  Analysis:
  When we create a subnet with subnetpool cidr is set to None. A recent change 
in Neutron or netaddr now makes this an error.

  Proposed fix:
  Update Horizon Neutron Client bindings and make cidr and ip_version optional.
  Update Horizon networks workflow to only pass cidr and ip_version fields if 
they are used instead of passing along "None".

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