novaclient.exceptions.BadRequest' on adding default security group

Bug #1788792 reported by vimal
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R5.0
Fix Released
High
vimal
Trunk
In Progress
High
vimal

Bug Description

Exception 'novaclient.exceptions.BadRequest' on adding default security group .Since default security group is already created , duplicate entry error is seen.

logs
-------

Traceback (most recent call last):
File "tcutils/wrappers.py", line 164, in wrapper
raise TestFailed("\n ".join(errmsg))
TestFailed: Test failed: <class 'novaclient.exceptions.BadRequest'>
Python 2.7.5: /usr/bin/python
Thu Aug 23 02:52:20 2018

A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.

/contrail-test/tcutils/wrappers.py in wrapper(self=<scripts.lbaasv2.test_lbaasv2.TestLBaaSV2.test_lbaas_with_sg_vip[sanity] id=0x7fb156666390>, *args=(), **kwargs={})
76 log.info('Initial checks done. Running the testcase now')
77 log.info('')
78 result = function(self, *args, **kwargs)
79 except KeyboardInterrupt:
80 raise
result = None
function = <function test_lbaas_with_sg_vip>
self = <scripts.lbaasv2.test_lbaasv2.TestLBaaSV2.test_lbaas_with_sg_vip[sanity] id=0x7fb156666390>
args = ()
kwargs = {}

/contrail-test/scripts/lbaasv2/test_lbaasv2.py in test_lbaas_with_sg_vip(self=<scripts.lbaasv2.test_lbaasv2.TestLBaaSV2.test_lbaas_with_sg_vip[sanity] id=0x7fb156666390>)
195 for server in lb_pool_servers:
196 server.remove_security_group(vip_sg.get_uuid())
197 server.add_security_group(default_sg.get_sg_id())
198 assert client_vm1_fixture.ping_with_certainty(rr_listener.fip_ip)
199 assert self.verify_lb_method(client_vm1_fixture, lb_pool_servers, rr_listener.fip_ip),\
server = <VMFixture: ctest-TestLBaaSV2-28203444-59511954>
server.add_security_group = <bound method VMFixture.add_security_group of <VMFixture: ctest-TestLBaaSV2-28203444-59511954>>
default_sg = <security_group.SecurityGroupFixture object>
default_sg.get_sg_id = <bound method SecurityGroupFixture.get_sg_id of <security_group.SecurityGroupFixture object>>

/contrail-test/fixtures/vm_test.py in add_security_group(self=<VMFixture: ctest-TestLBaaSV2-28203444-59511954>, secgrp=u'5d0a4332-7187-44b8-9019-04a915434608')
406
407 def add_security_group(self, secgrp):
408 self.orch.add_security_group(vm_id=self.vm_obj.id, sg_id=secgrp)
409
410 def remove_security_group(self, secgrp):
self = <VMFixture: ctest-TestLBaaSV2-28203444-59511954>
self.orch = <openstack.OpenstackOrchestrator object>
self.orch.add_security_group = <bound method OpenstackOrchestrator.add_security_group of <openstack.OpenstackOrchestrator object>>
vm_id undefined
self.vm_obj = <Server: ctest-TestLBaaSV2-28203444-59511954>
self.vm_obj.id = u'e3956fee-3481-40ab-ae56-51287235e13f'
sg_id undefined
secgrp = u'5d0a4332-7187-44b8-9019-04a915434608'

/contrail-test/fixtures/openstack.py in add_security_group(self=<openstack.OpenstackOrchestrator object>, vm_id=u'e3956fee-3481-40ab-ae56-51287235e13f', sg_id=u'5d0a4332-7187-44b8-9019-04a915434608', option='orch', **kwargs={})
229 if option == 'contrail':
230 return super(OpenstackOrchestrator, self).add_security_group(vm_id=vm_id, sg_id=sg_id, **kwargs)
231 return self.nova_h.add_security_group(vm_id, sg_id)
232
233 def remove_security_group(self, vm_id, sg_id, option='orch', **kwargs):
self = <openstack.OpenstackOrchestrator object>
self.nova_h = <nova_test.NovaHelper object>
self.nova_h.add_security_group = <bound method NovaHelper.add_security_group of <nova_test.NovaHelper object>>
vm_id = u'e3956fee-3481-40ab-ae56-51287235e13f'
sg_id = u'5d0a4332-7187-44b8-9019-04a915434608'

/contrail-test/fixtures/nova_test.py in add_security_group(self=<nova_test.NovaHelper object>, vm_id=u'e3956fee-3481-40ab-ae56-51287235e13f', secgrp=u'5d0a4332-7187-44b8-9019-04a915434608')
570
571 def add_security_group(self, vm_id, secgrp):
572 self.obj.servers.add_security_group(vm_id, secgrp)
573
574 def remove_security_group(self, vm_id, secgrp):
self = <nova_test.NovaHelper object>
self.obj = <novaclient.v2.client.Client object>
self.obj.servers = <novaclient.v2.servers.ServerManager object>
self.obj.servers.add_security_group = <bound method ServerManager.add_security_group of <novaclient.v2.servers.ServerManager object>>
vm_id = u'e3956fee-3481-40ab-ae56-51287235e13f'
secgrp = u'5d0a4332-7187-44b8-9019-04a915434608'

/usr/lib/python2.7/site-packages/novaclient/v2/servers.py in add_security_group(self=<novaclient.v2.servers.ServerManager object>, server=u'e3956fee-3481-40ab-ae56-51287235e13f', security_group=u'5d0a4332-7187-44b8-9019-04a915434608')
1696 """
1697 return self._action('addSecurityGroup', server,
1698 {'name': security_group})
1699
1700 def remove_security_group(self, server, security_group):
security_group = u'5d0a4332-7187-44b8-9019-04a915434608'

/usr/lib/python2.7/site-packages/novaclient/v2/servers.py in _action(self=<novaclient.v2.servers.ServerManager object>, action='addSecurityGroup', server=u'e3956fee-3481-40ab-ae56-51287235e13f', info={'name': u'5d0a4332-7187-44b8-9019-04a915434608'}, **kwargs={})
1843 """
1844 resp, body = self._action_return_resp_and_body(action, server,
1845 info=info, **kwargs)
1846 return self.convert_into_with_meta(body, resp)
1847
info = {'name': u'5d0a4332-7187-44b8-9019-04a915434608'}
kwargs = {}

/usr/lib/python2.7/site-packages/novaclient/v2/servers.py in _action_return_resp_and_body(self=<novaclient.v2.servers.ServerManager object>, action='addSecurityGroup', server=u'e3956fee-3481-40ab-ae56-51287235e13f', info={'name': u'5d0a4332-7187-44b8-9019-04a915434608'}, **kwargs={})
1854 self.run_hooks('modify_body_for_action', body, **kwargs)
1855 url = '/servers/%s/action' % base.getid(server)
1856 return self.api.client.post(url, body=body)
1857
1858 def _console(self, server, info=None, **kwargs):
self = <novaclient.v2.servers.ServerManager object>
self.api = <novaclient.v2.client.Client object>
self.api.client = <novaclient.client.SessionClient object>
self.api.client.post = <bound method SessionClient.post of <novaclient.client.SessionClient object>>
url = u'/servers/e3956fee-3481-40ab-ae56-51287235e13f/action'
body = {'addSecurityGroup': {'name': u'5d0a4332-7187-44b8-9019-04a915434608'}}

/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py in post(self=<novaclient.client.SessionClient object>, url=u'/servers/e3956fee-3481-40ab-ae56-51287235e13f/action', **kwargs={'body': {'addSecurityGroup': {'name': u'5d0a4332-7187-44b8-9019-04a915434608'}}})
191
192 def post(self, url, **kwargs):
193 return self.request(url, 'POST', **kwargs)
194
195 def put(self, url, **kwargs):
self = <novaclient.client.SessionClient object>
self.request = <bound method SessionClient.request of <novaclient.client.SessionClient object>>
url = u'/servers/e3956fee-3481-40ab-ae56-51287235e13f/action'
kwargs = {'body': {'addSecurityGroup': {'name': u'5d0a4332-7187-44b8-9019-04a915434608'}}}

/usr/lib/python2.7/site-packages/novaclient/client.py in request(self=<novaclient.client.SessionClient object>, url=u'/servers/e3956fee-3481-40ab-ae56-51287235e13f/action', method='POST', **kwargs={'body': {'addSecurityGroup': {'name': u'5d0a4332-7187-44b8-9019-04a915434608'}}, 'headers': {'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'python-novaclient', 'X-Auth-Token': '3046d25c3edf4f2f9edebced1ef16a1d'}})
115 # api_versions.check_headers(resp, self.api_version)
116 if raise_exc and resp.status_code >= 400:
117 raise exceptions.from_response(resp, body, url, method)
118
119 return resp, body
global exceptions = <module 'novaclient.exceptions' from '/usr/lib/python2.7/site-packages/novaclient/exceptions.pyc'>
exceptions.from_response = <function from_response>
resp = <Response [400]>
body = {u'badRequest': {u'code': 400, u'message': u"Invalid input for security_groups. Reason: Dup...ds: ['req-13947f21-07d2-4431-bd5a-7697bda762b1']"}}
url = u'/servers/e3956fee-3481-40ab-ae56-51287235e13f/action'
method = 'POST'
<class 'novaclient.exceptions.BadRequest'>: Invalid input for security_groups. Reason: Duplicate items in the list: '5d0a4332-7187-44b8-9019-04a915434608'.
Neutron server returns request_ids: ['req-13947f21-07d2-4431-bd5a-7697bda762b1'] (HTTP 400) (Request-ID: req-a99d7b66-6acd-4f03-a44c-e218c10feb3d)
__class__ = <class 'novaclient.exceptions.BadRequest'>
__delattr__ = <method-wrapper '__delattr__' of BadRequest object>
__dict__ = {'code': 400, 'details': None, 'message': u"Invalid input for security_groups. Reason: Dup...ds: ['req-13947f21-07d2-4431-bd5a-7697bda762b1']", 'method': 'POST', 'request_id': 'req-a99d7b66-6acd-4f03-a44c-e218c10feb3d', 'url': u'/servers/e3956fee-3481-40ab-ae56-51287235e13f/action'}
__doc__ = '\n HTTP 400 - Bad request: you sent some malformed data.\n '
__format__ = <built-in method __format__ of BadRequest object>
__getattribute__ = <method-wrapper '__getattribute__' of BadRequest object>
__getitem__ = <method-wrapper '__getitem__' of BadRequest object>
__getslice__ = <method-wrapper '__getslice__' of BadRequest object>
__hash__ = <method-wrapper '__hash__' of BadRequest object>
__init__ = <bound method BadRequest.__init__ of BadRequest()>
__module__ = 'novaclient.exceptions'
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of BadRequest object>
__reduce_ex__ = <built-in method __reduce_ex__ of BadRequest object>
__repr__ = <method-wrapper '__repr__' of BadRequest object>
__setattr__ = <method-wrapper '__setattr__' of BadRequest object>
__setstate__ = <built-in method __setstate__ of BadRequest object>
__sizeof__ = <built-in method __sizeof__ of BadRequest object>
__str__ = <bound method BadRequest.__str__ of BadRequest()>
__subclasshook__ = <built-in method __subclasshook__ of type object>
__unicode__ = <built-in method __unicode__ of BadRequest object>
__weakref__ = None
args = ()
code = 400
details = None
http_status = 400
message = u"Invalid input for security_groups. Reason: Dup...ds: ['req-13947f21-07d2-4431-bd5a-7697bda762b1']"
method = 'POST'
request_id = 'req-a99d7b66-6acd-4f03-a44c-e218c10feb3d'
url = u'/servers/e3956fee-3481-40ab-ae56-51287235e13f/action'

The above is a description of an error in a Python program. Here is
the original traceback:

Traceback (most recent call last):
File "tcutils/wrappers.py", line 78, in wrapper
result = function(self, *args, **kwargs)
File "scripts/lbaasv2/test_lbaasv2.py", line 197, in test_lbaas_with_sg_vip
server.add_security_group(default_sg.get_sg_id())
File "/contrail-test/fixtures/vm_test.py", line 408, in add_security_group
self.orch.add_security_group(vm_id=self.vm_obj.id, sg_id=secgrp)
File "/contrail-test/fixtures/openstack.py", line 231, in add_security_group
return self.nova_h.add_security_group(vm_id, sg_id)
File "/contrail-test/fixtures/nova_test.py", line 572, in add_security_group
self.obj.servers.add_security_group(vm_id, secgrp)
File "/usr/lib/python2.7/site-packages/novaclient/v2/servers.py", line 1698, in add_security_group
{'name': security_group})
File "/usr/lib/python2.7/site-packages/novaclient/v2/servers.py", line 1845, in _action
info=info, **kwargs)
File "/usr/lib/python2.7/site-packages/novaclient/v2/servers.py", line 1856, in _action_return_resp_and_body
return self.api.client.post(url, body=body)
File "/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py", line 193, in post
return self.request(url, 'POST', **kwargs)
File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 117, in request
raise exceptions.from_response(resp, body, url, method)
BadRequest: Invalid input for security_groups. Reason: Duplicate items in the list: '5d0a4332-7187-44b8-9019-04a915434608'.
Neutron server returns request_ids: ['req-13947f21-07d2-4431-bd5a-7697bda762b1'] (HTTP 400) (Request-ID: req-a99d7b66-6acd-4f03-a44c-e218c10feb3d)

Cleanup failed:
File "tcutils/wrappers.py", line 102, in wrapper
cleanup(*args, **kwargs)
File "/contrail-test/fixtures/security_group.py", line 95, in cleanUp
self.delete()
File "/contrail-test/fixtures/security_group.py", line 113, in delete
self.orch.delete_security_group(sg_id=self.secgrp_id, option=self.option)
File "/contrail-test/fixtures/openstack.py", line 253, in delete_security_group
self.quantum_h.delete_security_group(sg_id)
File "/contrail-test/fixtures/quantum_test.py", line 197, in delete_security_group
self.obj.delete_security_group(sg_id)
File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 932, in delete_security_group
return self.delete(self.security_group_path % (security_group))
File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 357, in delete
headers=headers, params=params)
File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 338, in retry_request
headers=headers, params=params)
File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 301, in do_request
self._handle_fault_response(status_code, replybody, resp)
File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 276, in _handle_fault_response
exception_handler_v20(status_code, error_body)
File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 92, in exception_handler_v20
request_ids=request_ids)

Conflict:
Security Group 730137e8-d243-4bde-b816-5088f0e63a4c in use.
Neutron server returns request_ids: ['req-a9f9a353-8e2b-4d4b-9a95-5bc4cfca7e20']

Traceback (most recent call last):
_StringException: Empty attachments:
pythonlogging:''

Tags: automation
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R5.0

Review in progress for https://review.opencontrail.org/45747
Submitter: vimal (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/45906
Submitter: vimal (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/45747
Committed: http://github.com/Juniper/contrail-test/commit/f105184ee1a784440260b1e89cad4368af73108b
Submitter: Zuul v3 CI (<email address hidden>)
Branch: R5.0

commit f105184ee1a784440260b1e89cad4368af73108b
Author: vappachan <email address hidden>
Date: Fri Aug 24 12:30:43 2018 +0530

Closes-bug: #1788792

Change-Id: I173e3b70723f78435680cd6d9c00f6db4692b57a

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.