Reviewed:  https://review.openstack.org/535532
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=0098dbf2f12902ccd79f6111ba3a1d5a094ae6dc
Submitter: Zuul
Branch:    master

commit 0098dbf2f12902ccd79f6111ba3a1d5a094ae6dc
Author: Hongbin Lu <[email protected]>
Date:   Fri Jan 19 00:26:15 2018 +0000

    Handle IpAddressAlreadyAllocated exception
    
    Change-Id: I5bee9ae18764b6f285ecc5e8d7148a1019c74701
    Closes-Bug: #1744103


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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/1744103

Title:
  nova interface-attach  500 on conflict

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Nova returns with 5xx response instead of 4xx in case of user error.

  In this case it is clearly user issue, the user can know the 10.0.0.3
  ip address already allocated from the subnet and it cannot be
  allocated twice.

  nuva must return with 409/Conflict status code and state the problem
  to the user as neutron did to nova.

  $ nova boot --image cirros-0.3.5-x86_64-disk --flavor 42 --nic net-
  id=ef952752-b81c-478e-a114-04083c63827c test

  $ nova list
  
+--------------------------------------+------+--------+------------+-------------+--------------------------------------------------------+
  | ID                                   | Name | Status | Task State | Power 
State | Networks                                               |
  
+--------------------------------------+------+--------+------------+-------------+--------------------------------------------------------+
  | 7a453305-2684-4684-8005-04a98aebfc7e | test | ACTIVE | -          | Running 
    | private=fd64:8b83:fea2:0:f816:3eff:fe5f:3da3, 10.0.0.3 |
  
+--------------------------------------+------+--------+------------+-------------+--------------------------------------------------------+

  $ nova interface-attach  7a453305-2684-4684-8005-04a98aebfc7e 
--net-id=ef952752-b81c-478e-a114-04083c63827c --fixed-ip 10.0.0.3
  ERROR (ClientException): Unexpected API Error. Please report this at 
http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
  <class 'oslo_messaging.rpc.client.RemoteError'> (HTTP 500) (Request-ID: 
req-64d655fe-0564-46ec-85c2-c982d34f796c)

  Jan 18 15:21:29 afazekas-1516283855.localdomain 
[email protected][15371]: DEBUG nova.api.openstack.wsgi [None 
req-64d655fe-0564-46ec-85c2-c982d34f796c demo demo] Action: 'create', calling 
method: <bound met
  Jan 18 15:21:29 afazekas-1516283855.localdomain 
[email protected][15371]: DEBUG nova.compute.api [None 
req-64d655fe-0564-46ec-85c2-c982d34f796c demo demo] [instance: 
7a453305-2684-4684-8005-04a98aebfc7e] Fe
  Jan 18 15:21:29 afazekas-1516283855.localdomain 
[email protected][15371]: DEBUG oslo_concurrency.lockutils [None 
req-64d655fe-0564-46ec-85c2-c982d34f796c demo demo] Lock 
"921bd34d-76f9-4c1c-8d6e-1892c2ebac0
  Jan 18 15:21:29 afazekas-1516283855.localdomain 
[email protected][15371]: DEBUG oslo_concurrency.lockutils [None 
req-64d655fe-0564-46ec-85c2-c982d34f796c demo demo] Lock 
"921bd34d-76f9-4c1c-8d6e-1892c2ebac0
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi [None 
req-64d655fe-0564-46ec-85c2-c982d34f796c demo demo] Unexpected exception in API 
method: RemoteEr
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: Neutron server returns request_ids: 
['req-d63bbcfd-44d7-4986-a46f-00fbc4d58749']
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: [u'Traceback (most recent call last):\n', u'  
File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 163, 
in _pr
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: e\n    security_group_ids)\n', u'  File 
"/opt/stack/nova/nova/network/neutronv2/api.py", line 871, in 
_create_ports_for_instance\n
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: gs)\n', u'  File 
"/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 268, in 
_handle_fault_response\n    exception
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi Traceback (most 
recent call last):
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/api/openstack/wsgi.py", line 803, in wrapped
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     return 
f(*args, **kwargs)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/api/validation/__init__.py", line 108, in wrapper
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     return 
func(*args, **kwargs)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/api/validation/__init__.py", line 108, in wrapper
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     return 
func(*args, **kwargs)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/api/openstack/compute/attach_interfaces.py", line 133, in 
create
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     instance, 
network_id, port_id, req_ip, tag=tag)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/compute/api.py", line 202, in inner
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     return 
function(self, context, instance, *args, **kwargs)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/compute/api.py", line 150, in inner
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     return f(self, 
context, instance, *args, **kw)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/compute/api.py", line 3974, in attach_interface
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     
requested_ip=requested_ip, tag=tag)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/opt/stack/nova/nova/compute/rpcapi.py", line 455, in attach_interface
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     return 
cctxt.call(ctxt, 'attach_interface', **kw)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 174, in 
call
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     
retry=self.retry)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 131, in 
_send
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     
timeout=timeout, retry=retry)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 
559, in send
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     retry=retry)
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 
550, in _send
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi     raise result
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi RemoteError: 
Remote error: Conflict IP address 10.0.0.3 already allocated in subnet 
67edb4e0-aeae-4496
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi Neutron server 
returns request_ids: ['req-d63bbcfd-44d7-4986-a46f-00fbc4d58749']
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi [u'Traceback (most 
recent call last):\n', u'  File 
"/usr/lib/python2.7/site-packages/oslo_messaging/rp
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: /api.py", line 938, in allocate_for_instance\n   
 security_group_ids)\n', u'  File 
"/opt/stack/nova/nova/network/neutronv2/api.py",
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: 14, in wrapper\n    ret = obj(*args, 
**kwargs)\n', u'  File 
"/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 26
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: ERROR nova.api.openstack.wsgi
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: INFO nova.api.openstack.wsgi [None 
req-64d655fe-0564-46ec-85c2-c982d34f796c demo demo] HTTP exception thrown: 
Unexpected API Error.
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: <class 'oslo_messaging.rpc.client.RemoteError'>
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: DEBUG nova.api.openstack.wsgi [None 
req-64d655fe-0564-46ec-85c2-c982d34f796c demo demo] Returning 500 to user: 
Unexpected API Error.
  Jan 18 15:21:30 afazekas-1516283855.localdomain 
[email protected][15371]: <class 'oslo_messaging.rpc.client.RemoteError'> 
{{(pid=15372) __call__ /opt/stack/nova/nova/api/openstack/wsgi.py:1079}}

  Tested on Fedora 27 on Jan 18 2018 sources, the issue reproducible on
  older versions (pike).

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1744103/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to