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

** Changed in: nova
    Milestone: None => liberty-3

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

Title:
  Nova should not return a 500 on floating ip create with ipv6

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Neutron does not support creating or using floating ips on an ipv6
  network. When nova gets a create floating ip call and does the
  passthrough call to neutron it will get a 400 response from neutron
  saying there is not ipv4 subnet available. This goes unhandled by nova
  and will cause a 500 response. Since this is an expected error, nova
  should catch it and return a 400 to the user for the same reason.

  For example logs with the unhandled exception see:

  http://logs.openstack.org/47/210647/2/check/gate-tempest-dsvm-neutron-
  full/ea565de/logs/screen-n-api.txt.gz?level=TRACE

  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack Traceback (most recent 
call last):
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/opt/stack/new/nova/nova/api/openstack/__init__.py", line 128, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
req.get_response(self.application)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     application, 
catch_exc_info=False)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in 
call_application
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     app_iter = 
application(self.environ, start_response)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
resp(environ, start_response)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     resp = 
self.call_func(req, *args, **self.kwargs)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
self.func(req, *args, **kwargs)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py",
 line 434, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     response = 
req.get_response(self._app)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     application, 
catch_exc_info=False)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in 
call_application
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     app_iter = 
application(self.environ, start_response)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
resp(environ, start_response)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
resp(environ, start_response)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 136, in 
__call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     response = 
self.app(environ, start_response)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
resp(environ, start_response)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     resp = 
self.call_func(req, *args, **self.kwargs)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
self.func(req, *args, **kwargs)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 756, in __call__
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     content_type, 
body, accept)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 821, in _process_stack
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     action_result = 
self.dispatch(meth, request, action_args)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 911, in dispatch
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
method(req=request, **action_args)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/opt/stack/new/nova/nova/api/openstack/compute/contrib/floating_ips.py", line 
115, in create
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     address = 
self.network_api.allocate_floating_ip(context, pool)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/opt/stack/new/nova/nova/network/neutronv2/api.py", line 1392, in 
allocate_floating_ip
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     fip = 
client.create_floatingip(param)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 
102, in with_params
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     ret = 
self.function(instance, *args, **kwargs)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 
701, in create_floatingip
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     return 
self.post(self.floatingips_path, body=body)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 
298, in post
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     headers=headers, 
params=params)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 
211, in do_request
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     
self._handle_fault_response(status_code, replybody)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 
185, in _handle_fault_response
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     
exception_handler_v20(status_code, des_error_body)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack   File 
"/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 70, 
in exception_handler_v20
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack     
status_code=status_code)
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack BadRequest: Bad 
floatingip request: Network c8f0e88f-ae41-47cb-be6c-d8256ba80576 does not 
contain any IPv4 subnet
  2015-08-08 01:55:33.923 20521 ERROR nova.api.openstack

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