← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1430394] [NEW] neutron port-delete operation throws HTTP 500, if port is lb-vip

 

Public bug reported:

1. create a VIP for existed load-balancer

# neutron lb-vip-create --name vip --protocol-port 80 --protocol HTTP
--subnet-id <xxx> LB

2. obtain the id of this new VIP by  neutron port-list

# neutron port-list
+--------------------------------------+------------------------------------------+-------------------+-------------------------------------------------------------------------------------+
| id                                   | name                                     | mac_address       | fixed_ips                                                                           |
+--------------------------------------+------------------------------------------+-------------------+-------------------------------------------------------------------------------------+
| 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1 | vip-0093a88f-3c4c-4e84-a9d4-14e9264faa5a | fa:16:3e:7d:b9:b0 | {"subnet_id": "b22172b7-05ee-42b8-b3b9-48a312fdfc97", "ip_address": "192.168.10.5"} |

3.  # neutron port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
Request Failed: internal server error while processing your request.

# neutron --verbose port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
DEBUG: neutronclient.neutron.v2_0.port.DeletePort run(Namespace(id=u'6bbfbc5b-93d2-4791-bb8a-ef292f04aed1', request_format='json'))
DEBUG: neutronclient.client
...
DEBUG: neutronclient.client
REQ: curl -i http://10.162.80.155:9696/v2.0/ports/6bbfbc5b-93d2-4791-bb8a-ef292f04aed1.json -X DELETE -H "X-Auth-Token: MIINoQYJKoZIhvcNAQcCoII......
.....Yr80gJf7djQE1JI+PA-Q==" -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-neutronclient"

DEBUG: neutronclient.client RESP:{'date': 'Tue, 10 Mar 2015 15:09:30
GMT', 'status': '500', 'content-length': '88', 'content-type':
'application/json; charset=UTF-8', 'x-openstack-request-id': 'req-
75f8c9ca-e273-4e3f-bc4d-9db7d7828794'} {"NeutronError": "Request Failed:
internal server error while processing your request."}

DEBUG: neutronclient.v2_0.client Error message: {"NeutronError": "Request Failed: internal server error while processing your request."}
ERROR: neutronclient.shell Request Failed: internal server error while processing your request.
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 526, in run_subcommand
    return run_command(cmd, cmd_parser, sub_argv)
  File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 79, in run_command
    return cmd.run(known_args)
  File "/usr/lib/python2.6/site-packages/neutronclient/neutron/v2_0/__init__.py", line 509, in run
    obj_deleter(_id)
  File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 111, in with_params
    ret = self.function(instance, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 326, in delete_port
    return self.delete(self.port_path % (port))
  File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1232, in delete
    headers=headers, params=params)
  File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1221, in retry_request
    headers=headers, params=params)
  File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1164, in do_request
    self._handle_fault_response(status_code, replybody)
  File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1134, in _handle_fault_response
    exception_handler_v20(status_code, des_error_body)
  File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 84, in exception_handler_v20
    message=error_dict)
NeutronClientException: Request Failed: internal server error while processing your request.
DEBUG: neutronclient.shell clean_up DeletePort
DEBUG: neutronclient.shell Got an error: Request Failed: internal server error while processing your request.
[root@kvalenti-controller ~(keystone_admin)]# neutron port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
Request Failed: internal server error while processing your request.
#

It's better to return "Unable to delete" or some other temporary error
code.  This mocking  is not so painful for returning "500" to clients .

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: lb-vip lbaas loadbalancer neutron

** Summary changed:

- neutron port-delete operation throws HTTP 500, if removing port is lb-vip
+ neutron port-delete operation throws HTTP 500, if  port is lb-vip

** Description changed:

  1. create a VIP for existed load-balancer
  
  # neutron lb-vip-create --name vip --protocol-port 80 --protocol HTTP
  --subnet-id <xxx> LB
  
  2. obtain the id of this new VIP by  neutron port-list
  
  # neutron port-list
  +--------------------------------------+------------------------------------------+-------------------+-------------------------------------------------------------------------------------+
  | id                                   | name                                     | mac_address       | fixed_ips                                                                           |
  +--------------------------------------+------------------------------------------+-------------------+-------------------------------------------------------------------------------------+
  | 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1 | vip-0093a88f-3c4c-4e84-a9d4-14e9264faa5a | fa:16:3e:7d:b9:b0 | {"subnet_id": "b22172b7-05ee-42b8-b3b9-48a312fdfc97", "ip_address": "192.168.10.5"} |
  
  3.  # neutron port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
  Request Failed: internal server error while processing your request.
  
  # neutron --verbose port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
  DEBUG: neutronclient.neutron.v2_0.port.DeletePort run(Namespace(id=u'6bbfbc5b-93d2-4791-bb8a-ef292f04aed1', request_format='json'))
- DEBUG: neutronclient.client 
+ DEBUG: neutronclient.client
  ...
- DEBUG: neutronclient.client 
+ DEBUG: neutronclient.client
  REQ: curl -i http://10.162.80.155:9696/v2.0/ports/6bbfbc5b-93d2-4791-bb8a-ef292f04aed1.json -X DELETE -H "X-Auth-Token: MIINoQYJKoZIhvcNAQcCoII......
  .....Yr80gJf7djQE1JI+PA-Q==" -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-neutronclient"
  
  DEBUG: neutronclient.client RESP:{'date': 'Tue, 10 Mar 2015 15:09:30
  GMT', 'status': '500', 'content-length': '88', 'content-type':
  'application/json; charset=UTF-8', 'x-openstack-request-id': 'req-
  75f8c9ca-e273-4e3f-bc4d-9db7d7828794'} {"NeutronError": "Request Failed:
  internal server error while processing your request."}
  
  DEBUG: neutronclient.v2_0.client Error message: {"NeutronError": "Request Failed: internal server error while processing your request."}
  ERROR: neutronclient.shell Request Failed: internal server error while processing your request.
  Traceback (most recent call last):
-   File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 526, in run_subcommand
-     return run_command(cmd, cmd_parser, sub_argv)
-   File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 79, in run_command
-     return cmd.run(known_args)
-   File "/usr/lib/python2.6/site-packages/neutronclient/neutron/v2_0/__init__.py", line 509, in run
-     obj_deleter(_id)
-   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 111, in with_params
-     ret = self.function(instance, *args, **kwargs)
-   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 326, in delete_port
-     return self.delete(self.port_path % (port))
-   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1232, in delete
-     headers=headers, params=params)
-   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1221, in retry_request
-     headers=headers, params=params)
-   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1164, in do_request
-     self._handle_fault_response(status_code, replybody)
-   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1134, in _handle_fault_response
-     exception_handler_v20(status_code, des_error_body)
-   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 84, in exception_handler_v20
-     message=error_dict)
+   File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 526, in run_subcommand
+     return run_command(cmd, cmd_parser, sub_argv)
+   File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 79, in run_command
+     return cmd.run(known_args)
+   File "/usr/lib/python2.6/site-packages/neutronclient/neutron/v2_0/__init__.py", line 509, in run
+     obj_deleter(_id)
+   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 111, in with_params
+     ret = self.function(instance, *args, **kwargs)
+   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 326, in delete_port
+     return self.delete(self.port_path % (port))
+   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1232, in delete
+     headers=headers, params=params)
+   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1221, in retry_request
+     headers=headers, params=params)
+   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1164, in do_request
+     self._handle_fault_response(status_code, replybody)
+   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1134, in _handle_fault_response
+     exception_handler_v20(status_code, des_error_body)
+   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 84, in exception_handler_v20
+     message=error_dict)
  NeutronClientException: Request Failed: internal server error while processing your request.
  DEBUG: neutronclient.shell clean_up DeletePort
  DEBUG: neutronclient.shell Got an error: Request Failed: internal server error while processing your request.
  [root@kvalenti-controller ~(keystone_admin)]# neutron port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
  Request Failed: internal server error while processing your request.
  #
  
- It's better to return "Unable to delete" or some  temporary error code.
- This mocking  is not so painful for returning 500 error code to clients
- .
+ It's better to return "Unable to delete" or some other temporary error
+ code.  This mocking  is not so painful for returning "500" to clients .

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

Title:
  neutron port-delete operation throws HTTP 500, if  port is lb-vip

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  1. create a VIP for existed load-balancer

  # neutron lb-vip-create --name vip --protocol-port 80 --protocol HTTP
  --subnet-id <xxx> LB

  2. obtain the id of this new VIP by  neutron port-list

  # neutron port-list
  +--------------------------------------+------------------------------------------+-------------------+-------------------------------------------------------------------------------------+
  | id                                   | name                                     | mac_address       | fixed_ips                                                                           |
  +--------------------------------------+------------------------------------------+-------------------+-------------------------------------------------------------------------------------+
  | 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1 | vip-0093a88f-3c4c-4e84-a9d4-14e9264faa5a | fa:16:3e:7d:b9:b0 | {"subnet_id": "b22172b7-05ee-42b8-b3b9-48a312fdfc97", "ip_address": "192.168.10.5"} |

  3.  # neutron port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
  Request Failed: internal server error while processing your request.

  # neutron --verbose port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
  DEBUG: neutronclient.neutron.v2_0.port.DeletePort run(Namespace(id=u'6bbfbc5b-93d2-4791-bb8a-ef292f04aed1', request_format='json'))
  DEBUG: neutronclient.client
  ...
  DEBUG: neutronclient.client
  REQ: curl -i http://10.162.80.155:9696/v2.0/ports/6bbfbc5b-93d2-4791-bb8a-ef292f04aed1.json -X DELETE -H "X-Auth-Token: MIINoQYJKoZIhvcNAQcCoII......
  .....Yr80gJf7djQE1JI+PA-Q==" -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-neutronclient"

  DEBUG: neutronclient.client RESP:{'date': 'Tue, 10 Mar 2015 15:09:30
  GMT', 'status': '500', 'content-length': '88', 'content-type':
  'application/json; charset=UTF-8', 'x-openstack-request-id': 'req-
  75f8c9ca-e273-4e3f-bc4d-9db7d7828794'} {"NeutronError": "Request
  Failed: internal server error while processing your request."}

  DEBUG: neutronclient.v2_0.client Error message: {"NeutronError": "Request Failed: internal server error while processing your request."}
  ERROR: neutronclient.shell Request Failed: internal server error while processing your request.
  Traceback (most recent call last):
    File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 526, in run_subcommand
      return run_command(cmd, cmd_parser, sub_argv)
    File "/usr/lib/python2.6/site-packages/neutronclient/shell.py", line 79, in run_command
      return cmd.run(known_args)
    File "/usr/lib/python2.6/site-packages/neutronclient/neutron/v2_0/__init__.py", line 509, in run
      obj_deleter(_id)
    File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 111, in with_params
      ret = self.function(instance, *args, **kwargs)
    File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 326, in delete_port
      return self.delete(self.port_path % (port))
    File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1232, in delete
      headers=headers, params=params)
    File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1221, in retry_request
      headers=headers, params=params)
    File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1164, in do_request
      self._handle_fault_response(status_code, replybody)
    File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1134, in _handle_fault_response
      exception_handler_v20(status_code, des_error_body)
    File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 84, in exception_handler_v20
      message=error_dict)
  NeutronClientException: Request Failed: internal server error while processing your request.
  DEBUG: neutronclient.shell clean_up DeletePort
  DEBUG: neutronclient.shell Got an error: Request Failed: internal server error while processing your request.
  [root@kvalenti-controller ~(keystone_admin)]# neutron port-delete 6bbfbc5b-93d2-4791-bb8a-ef292f04aed1
  Request Failed: internal server error while processing your request.
  #

  It's better to return "Unable to delete" or some other temporary error
  code.  This mocking  is not so painful for returning "500" to clients
  .

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


Follow ups

References