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:''
Review in progress for https:/ /review. opencontrail. org/45747
Submitter: vimal (<email address hidden>)