| Name | Status | Type | Time(s) | LogFile |
| test_perms2_global_share[ci_sanity,sanity] | Failure | Details
Traceback (most recent call last):
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/contrail-test/tcutils/wrappers.py", line 176, in wrapper
raise TestFailed("\n ".join(errmsg))
tcutils.cores.TestFailed: Test failed: HTTPForbidden
Python 3.9.21: /usr/bin/python3
Wed Nov 5 08:14:08 2025
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=<serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>, *args=(), **kwargs={})
78 log.info('Initial checks done. Running the testcase now')
79 log.info('')
80 result = function(self, *args, **kwargs)
81 if self.inputs.upgrade:
82 pid = os.getpid()
result = None
function = <function TestRbac.test_perms2_global_share>
self = <serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>
args = ()
kwargs = {}
/contrail-test/serial_scripts/rbac/test_rbac.py in test_perms2_global_share(self=<serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>)
60 assert self.get_vn_from_analytics(u1_p2_conn, vn.vn_fq_name)
61 assert vn.vn_fq_name in self.list_vn_from_analytics(u1_p2_conn)
62 vm = self.create_vm(connections=u1_p2_conn, vn_fixture=vn)
63 assert vm, 'VM creation failed on shared VN'
64
vm undefined
self = <serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>
self.create_vm = <bound method BaseRbac.create_vm of <serial_scri...lobal_share[ci_sanity,sanity] id=0x7fa90e66d3d0>>
connections undefined
u1_p2_conn = <common.connections.ContrailConnections object>
vn_fixture undefined
vn = <vn_test.VNFixture object>
/contrail-test/serial_scripts/rbac/base.py in create_vm(self=<serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>, vn_fixture=<vn_test.VNFixture object>, connections=<common.connections.ContrailConnections object>, verify=True)
227 def create_vm(self, vn_fixture, connections=None, verify=True):
228 connections = connections or self.connections
229 vm_fixture = self.create_fixture(VMFixture, connections=connections,
230 vn_obj=vn_fixture.obj,
231 image_name='cirros',
vm_fixture undefined
self = <serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>
self.create_fixture = <bound method BaseRbac.create_fixture of <serial...lobal_share[ci_sanity,sanity] id=0x7fa90e66d3d0>>
global VMFixture = <class 'vm_test.VMFixture'>
connections = <common.connections.ContrailConnections object>
vn_obj undefined
vn_fixture = <vn_test.VNFixture object>
vn_fixture.obj = {'network': {'id': '6b7d998d-0bc9-45a3-aeb5-6455...network-ipam']}], 'port_security_enabled': True}}
image_name undefined
admin_connections undefined
self.connections = <common.connections.ContrailConnections object>
/contrail-test/serial_scripts/rbac/base.py in create_fixture(self=<serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>, fixturecls=<class 'vm_test.VMFixture'>, **kwargs={'admin_connections': <common.connections.ContrailConnections object>, 'connections': <common.connections.ContrailConnections object>, 'image_name': 'cirros', 'vn_obj': {'network': {'id': '6b7d998d-0bc9-45a3-aeb5-6455...network-ipam']}], 'port_security_enabled': True}}})
352 def create_fixture(self, fixturecls, **kwargs):
353 try:
354 return self.useFixture(fixturecls(**kwargs))
355 except (PermissionDenied, neutron_forbidden):
356 return None
self = <serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>
self.useFixture = <bound method TestCase.useFixture of <serial_scr...lobal_share[ci_sanity,sanity] id=0x7fa90e66d3d0>>
fixturecls = <class 'vm_test.VMFixture'>
kwargs = {'admin_connections': <common.connections.ContrailConnections object>, 'connections': <common.connections.ContrailConnections object>, 'image_name': 'cirros', 'vn_obj': {'network': {'id': '6b7d998d-0bc9-45a3-aeb5-6455...network-ipam']}], 'port_security_enabled': True}}}
/usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=<serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>, fixture=<VMFixture: ctest-TestRbac-00176880-81571141>)
754 # Gather_details worked, so raise the exception setUp
755 # encountered.
756 reraise(*exc_info)
757 else:
758 self.addCleanup(fixture.cleanUp)
global reraise = <function reraise>
exc_info = (<class 'glanceclient.exc.HTTPForbidden'>, HTTPForbidden(), <traceback object>)
/usr/local/lib/python3.9/site-packages/testtools/_compat3x.py in reraise(exc_class=<class 'glanceclient.exc.HTTPForbidden'>, exc_obj=HTTPForbidden(), exc_tb=<traceback object>, _marker=<object object>)
13
14 def reraise(exc_class, exc_obj, exc_tb, _marker=object()):
15 """Re-raise an exception received from sys.exc_info() or similar."""
16 raise exc_obj.with_traceback(exc_tb)
17
exc_obj = HTTPForbidden()
exc_obj.with_traceback = <built-in method with_traceback of HTTPForbidden object>
exc_tb = <traceback object>
/usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=<serial_scripts.rbac.test_rbac.TestRbac.test_per...global_share[ci_sanity,sanity] id=0x7fa90e66d3d0>, fixture=<VMFixture: ctest-TestRbac-00176880-81571141>)
729 """
730 try:
731 fixture.setUp()
732 except MultipleExceptions as e:
733 if (fixtures is not None and
fixture = <VMFixture: ctest-TestRbac-00176880-81571141>
fixture.setUp = <bound method VMFixture.setUp of <VMFixture: ctest-TestRbac-00176880-81571141>>
/contrail-test/fixtures/vm_test.py in setUp(self=<VMFixture: ctest-TestRbac-00176880-81571141>)
191 def setUp(self):
192 super(VMFixture, self).setUp()
193 self.create()
194
195 def create(self):
self = <VMFixture: ctest-TestRbac-00176880-81571141>
self.create = <bound method VMFixture.create of <VMFixture: ctest-TestRbac-00176880-81571141>>
/contrail-test/fixtures/vm_test.py in create(self=<VMFixture: ctest-TestRbac-00176880-81571141>)
231 self.port_ids = port_ids
232
233 objs = self.orch.create_vm(
234 project_uuid=self.project_id,
235 image_name=self.image_name,
objs undefined
self = <VMFixture: ctest-TestRbac-00176880-81571141>
self.orch = <openstack.OpenstackOrchestrator object>
self.orch.create_vm = <bound method OpenstackOrchestrator.create_vm of <openstack.OpenstackOrchestrator object>>
project_uuid undefined
self.project_id = '798de4bb-3b60-43d9-9b69-234df4fb6915'
image_name undefined
self.image_name = 'cirros'
flavor undefined
self.flavor = 'contrail_flavor_tiny'
vm_name undefined
self.vm_name = 'ctest-TestRbac-00176880-81571141'
vn_objs undefined
self.vn_objs = [{'network': {'id': '6b7d998d-0bc9-45a3-aeb5-6455...network-ipam']}], 'port_security_enabled': True}}]
node_name undefined
self.node_name = None
zone undefined
self.zone = None
sg_ids undefined
self.sg_ids = []
count undefined
self.count = 1
userdata undefined
self.userdata = None
port_ids undefined
self.port_ids = []
fixed_ips undefined
self.fixed_ips = []
/contrail-test/fixtures/openstack.py in create_vm(self=<openstack.OpenstackOrchestrator object>, vm_name='ctest-TestRbac-00176880-81571141', image_name='cirros', vn_objs=[{'network': {'id': '6b7d998d-0bc9-45a3-aeb5-6455...network-ipam']}], 'port_security_enabled': True}}], **kwargs={'count': 1, 'fixed_ips': [], 'flavor': 'contrail_flavor_tiny', 'node_name': None, 'port_ids': [], 'project_uuid': '798de4bb-3b60-43d9-9b69-234df4fb6915', 'sg_ids': [], 'userdata': None, 'zone': None})
116 except Exception as e:
117 vn_ids.append(vn.uuid) #For the case of VcenterVN obnect in vrouter gw case
118 return self.nova_h.create_vm(vm_name=vm_name, image_name=image_name, vn_ids=vn_ids, **kwargs)
119
120 def delete_vm(self, vm_obj, **kwargs):
self = <openstack.OpenstackOrchestrator object>
self.nova_h = <nova_test.NovaHelper object>
self.nova_h.create_vm = <bound method NovaHelper.create_vm of <nova_test.NovaHelper object>>
vm_name = 'ctest-TestRbac-00176880-81571141'
image_name = 'cirros'
vn_ids = ['6b7d998d-0bc9-45a3-aeb5-645539b24a07']
kwargs = {'count': 1, 'fixed_ips': [], 'flavor': 'contrail_flavor_tiny', 'node_name': None, 'port_ids': [], 'project_uuid': '798de4bb-3b60-43d9-9b69-234df4fb6915', 'sg_ids': [], 'userdata': None, 'zone': None}
/contrail-test/fixtures/nova_test.py in create_vm(self=<nova_test.NovaHelper object>, project_uuid='798de4bb-3b60-43d9-9b69-234df4fb6915', image_name='cirros', vm_name='ctest-TestRbac-00176880-81571141', vn_ids=['6b7d998d-0bc9-45a3-aeb5-645539b24a07'], node_name=None, sg_ids=[], count=1, userdata=None, flavor='contrail_flavor_tiny', port_ids=[], fixed_ips=[], zone=None)
580 zone, node_name = self.lb_node_zone(zone)
581
582 image = self.get_image(image_name=image_name)
583 if not flavor:
584 flavor = self.get_default_image_flavor(image_name=image_name)
image undefined
self = <nova_test.NovaHelper object>
self.get_image = <bound method NovaHelper.get_image of <nova_test.NovaHelper object>>
image_name = 'cirros'
/contrail-test/fixtures/nova_test.py in get_image(self=<nova_test.NovaHelper object>, image_name='cirros')
195 try:
196 lock.acquire()
197 got_image = self.find_image(image_name)
198 if not got_image:
199 self._install_image(image_name=image_name)
got_image undefined
self = <nova_test.NovaHelper object>
self.find_image = <bound method NovaHelper.find_image of <nova_test.NovaHelper object>>
image_name = 'cirros'
/contrail-test/fixtures/nova_test.py in find_image(self=<nova_test.NovaHelper object>, image_name='cirros')
182
183 def find_image(self, image_name):
184 return self.glance_h.get_image(image_name=image_name)
185 # end find_image
186
self = <nova_test.NovaHelper object>
self.glance_h = <glance_test.GlanceHelper object>
self.glance_h.get_image = <bound method GlanceHelper.get_image of <glance_test.GlanceHelper object>>
image_name = 'cirros'
/contrail-test/fixtures/glance_test.py in get_image(self=<glance_test.GlanceHelper object>, image_id=None, image_name='cirros', check_active=True)
56 def get_image(self, image_id=None, image_name=None, check_active=True):
57 if not image_id:
58 for image in self.obj.images.list():
59 if image.name == image_name:
60 image_id = image.id
image undefined
self = <glance_test.GlanceHelper object>
self.obj = <glanceclient.v2.client.Client object>
self.obj.images = <glanceclient.v2.images.Controller object>
self.obj.images.list = <BoundFunctionWrapper at 0x7fa90d28cc40 for method>
/usr/local/lib/python3.9/site-packages/glanceclient/common/utils.py in __next__(self=<GeneratorProxy at 0x7fa90d349ac0 for generator>)
579 # For Python 3 compatibility
580 def __next__(self):
581 return self._next()
582
583 def __iter__(self):
self = <GeneratorProxy at 0x7fa90d349ac0 for generator>
self._next = <bound method GeneratorProxy._next of <GeneratorProxy at 0x7fa90d349ac0 for generator>>
/usr/local/lib/python3.9/site-packages/glanceclient/common/utils.py in _next(self=<GeneratorProxy at 0x7fa90d349ac0 for generator>)
568
569 def _next(self):
570 obj, resp = next(self._self_wrapped)
571 self._set_request_ids(resp)
572 return obj
obj undefined
resp undefined
builtinnext = <built-in function next>
self = <GeneratorProxy at 0x7fa90d349ac0 for generator>
self._self_wrapped = <generator object Controller.list>
/usr/local/lib/python3.9/site-packages/glanceclient/v2/images.py in list(self=<glanceclient.v2.images.Controller object>, **kwargs={})
182 url = '%s&marker=%s' % (url, kwargs['marker'])
183
184 for image, resp in paginate(url, page_size, limit):
185 yield image, resp
186
image undefined
resp undefined
paginate = <function Controller.list.<locals>.paginate>
url = '/v2/images?limit=20'
page_size = 20
limit = None
/usr/local/lib/python3.9/site-packages/glanceclient/v2/images.py in paginate(url='/v2/images?limit=20', page_size=20, limit=None)
109 "limit=%s" % limit)
110
111 resp, body = self.http_client.get(next_url, headers=req_id_hdr)
112 # NOTE(rsjethani): Store curent request id so that it can be
113 # used in subsequent requests. Refer bug #1525259
resp undefined
body undefined
self = <glanceclient.v2.images.Controller object>
self.http_client = <glanceclient.common.http.SessionClient object>
self.http_client.get = <bound method Adapter.get of <glanceclient.common.http.SessionClient object>>
next_url = '/v2/images?limit=20'
headers undefined
req_id_hdr = {'Content-Type': 'application/octet-stream'}
/usr/local/lib/python3.9/site-packages/keystoneauth1/adapter.py in get(self=<glanceclient.common.http.SessionClient object>, url='/v2/images?limit=20', **kwargs={'headers': {'Content-Type': 'application/octet-stream'}})
384
385 def get(self, url, **kwargs):
386 return self.request(url, 'GET', **kwargs)
387
388 def head(self, url, **kwargs):
self = <glanceclient.common.http.SessionClient object>
self.request = <bound method SessionClient.request of <glanceclient.common.http.SessionClient object>>
url = '/v2/images?limit=20'
kwargs = {'headers': {'Content-Type': 'application/octet-stream'}}
/usr/local/lib/python3.9/site-packages/glanceclient/common/http.py in request(self=<glanceclient.common.http.SessionClient object>, url='/v2/images?limit=20', method='GET', **kwargs={'raise_exc': False, 'stream': True})
376 raise exc.CommunicationError(message=message)
377
378 return self._handle_response(resp)
379
380
self = <glanceclient.common.http.SessionClient object>
self._handle_response = <bound method _BaseHTTPClient._handle_response of <glanceclient.common.http.SessionClient object>>
resp = <Response [403]>
/usr/local/lib/python3.9/site-packages/glanceclient/common/http.py in _handle_response(self=<glanceclient.common.http.SessionClient object>, resp=<Response [403]>)
124 if not resp.ok:
125 LOG.debug("Request returned failure status %s.", resp.status_code)
126 raise exc.from_response(resp, resp.content)
127 elif (resp.status_code == requests.codes.MULTIPLE_CHOICES and
128 resp.request.path_url != '/versions'):
global exc = <module 'glanceclient.exc' from '/usr/local/lib/python3.9/site-packages/glanceclient/exc.py'>
exc.from_response = <function from_response>
resp = <Response [403]>
resp.content = b'<html>\n <head>\n <title>403 Forbidden</title...ges action.<br /><br />\n\n\n\n </body>\n</html>'
HTTPForbidden: HTTP 403 Forbidden: You are not authorized to complete get_images action.
__cause__ = None
__class__ = <class 'glanceclient.exc.HTTPForbidden'>
__context__ = None
__delattr__ = <method-wrapper '__delattr__' of HTTPForbidden object>
__dict__ = {'details': '403 Forbidden: You are not authorized to complete get_images action.'}
__dir__ = <built-in method __dir__ of HTTPForbidden object>
__doc__ = None
__eq__ = <method-wrapper '__eq__' of HTTPForbidden object>
__format__ = <built-in method __format__ of HTTPForbidden object>
__ge__ = <method-wrapper '__ge__' of HTTPForbidden object>
__getattribute__ = <method-wrapper '__getattribute__' of HTTPForbidden object>
__gt__ = <method-wrapper '__gt__' of HTTPForbidden object>
__hash__ = <method-wrapper '__hash__' of HTTPForbidden object>
__init__ = <bound method HTTPException.__init__ of HTTPForbidden()>
__init_subclass__ = <built-in method __init_subclass__ of type object>
__le__ = <method-wrapper '__le__' of HTTPForbidden object>
__lt__ = <method-wrapper '__lt__' of HTTPForbidden object>
__module__ = 'glanceclient.exc'
__ne__ = <method-wrapper '__ne__' of HTTPForbidden object>
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of HTTPForbidden object>
__reduce_ex__ = <built-in method __reduce_ex__ of HTTPForbidden object>
__repr__ = <method-wrapper '__repr__' of HTTPForbidden object>
__setattr__ = <method-wrapper '__setattr__' of HTTPForbidden object>
__setstate__ = <built-in method __setstate__ of HTTPForbidden object>
__sizeof__ = <built-in method __sizeof__ of HTTPForbidden object>
__str__ = <bound method HTTPException.__str__ of HTTPForbidden()>
__subclasshook__ = <built-in method __subclasshook__ of type object>
__suppress_context__ = False
__traceback__ = <traceback object>
__weakref__ = None
args = ()
code = 403
details = '403 Forbidden: You are not authorized to complete get_images action.'
with_traceback = <built-in method with_traceback of HTTPForbidden object>
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/contrail-test/tcutils/wrappers.py", line 80, in wrapper
result = function(self, *args, **kwargs)
File "/contrail-test/serial_scripts/rbac/test_rbac.py", line 62, in test_perms2_global_share
vm = self.create_vm(connections=u1_p2_conn, vn_fixture=vn)
File "/contrail-test/serial_scripts/rbac/base.py", line 229, in create_vm
vm_fixture = self.create_fixture(VMFixture, connections=connections,
File "/contrail-test/serial_scripts/rbac/base.py", line 354, in create_fixture
return self.useFixture(fixturecls(**kwargs))
File "/usr/local/lib/python3.9/site-packages/testtools/testcase.py", line 756, in useFixture
reraise(*exc_info)
File "/usr/local/lib/python3.9/site-packages/testtools/_compat3x.py", line 16, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/usr/local/lib/python3.9/site-packages/testtools/testcase.py", line 731, in useFixture
fixture.setUp()
File "/contrail-test/fixtures/vm_test.py", line 193, in setUp
self.create()
File "/contrail-test/fixtures/vm_test.py", line 233, in create
objs = self.orch.create_vm(
File "/contrail-test/fixtures/openstack.py", line 118, in create_vm
return self.nova_h.create_vm(vm_name=vm_name, image_name=image_name, vn_ids=vn_ids, **kwargs)
File "/contrail-test/fixtures/nova_test.py", line 582, in create_vm
image = self.get_image(image_name=image_name)
File "/contrail-test/fixtures/nova_test.py", line 197, in get_image
got_image = self.find_image(image_name)
File "/contrail-test/fixtures/nova_test.py", line 184, in find_image
return self.glance_h.get_image(image_name=image_name)
File "/contrail-test/fixtures/glance_test.py", line 58, in get_image
for image in self.obj.images.list():
File "/usr/local/lib/python3.9/site-packages/glanceclient/common/utils.py", line 581, in __next__
return self._next()
File "/usr/local/lib/python3.9/site-packages/glanceclient/common/utils.py", line 570, in _next
obj, resp = next(self._self_wrapped)
File "/usr/local/lib/python3.9/site-packages/glanceclient/v2/images.py", line 184, in list
for image, resp in paginate(url, page_size, limit):
File "/usr/local/lib/python3.9/site-packages/glanceclient/v2/images.py", line 111, in paginate
resp, body = self.http_client.get(next_url, headers=req_id_hdr)
File "/usr/local/lib/python3.9/site-packages/keystoneauth1/adapter.py", line 386, in get
return self.request(url, 'GET', **kwargs)
File "/usr/local/lib/python3.9/site-packages/glanceclient/common/http.py", line 378, in request
return self._handle_response(resp)
File "/usr/local/lib/python3.9/site-packages/glanceclient/common/http.py", line 126, in _handle_response
raise exc.from_response(resp, resp.content)
glanceclient.exc.HTTPForbidden: HTTP 403 Forbidden: You are not authorized to complete get_images action.
| 8.834 |
Log File
|
| test_perms2_owner[ci_sanity,sanity,suite1] | Failure | Details
Traceback (most recent call last):
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/contrail-test/tcutils/wrappers.py", line 176, in wrapper
raise TestFailed("\n ".join(errmsg))
tcutils.cores.TestFailed: Test failed: ValueError
Python 3.9.21: /usr/bin/python3
Wed Nov 5 08:14:22 2025
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=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>, *args=(), **kwargs={})
78 log.info('Initial checks done. Running the testcase now')
79 log.info('')
80 result = function(self, *args, **kwargs)
81 if self.inputs.upgrade:
82 pid = os.getpid()
result = None
function = <function TestRbacBasic.test_perms2_owner>
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>
args = ()
kwargs = {}
/contrail-test/serial_scripts/rbac/test_rbac_basic.py in test_perms2_owner(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>)
223 ]
224 domain_rbac = self.create_rbac_acl(rules=vn_rules, parent_type='domain')
225 vn = self.create_vn(connections=u1_p1_conn, verify=False)
226 assert vn, 'VN creation failed'
227 vn2 = self.create_vn(connections=u1_p2_conn, verify=False)
vn undefined
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>
self.create_vn = <bound method BaseRbac.create_vn of <serial_scri...wner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>>
connections undefined
u1_p1_conn = <common.connections.ContrailConnections object>
verify undefined
/contrail-test/serial_scripts/rbac/base.py in create_vn(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>, connections=<common.connections.ContrailConnections object>, verify=False, option='contrail', **kwargs={})
214 def create_vn(self, connections=None, verify=True, option='contrail', **kwargs):
215 connections = connections or self.connections
216 vn_fixture = self.create_fixture(VNFixture, connections=connections,
217 option=option, **kwargs)
218 if vn_fixture and verify:
vn_fixture undefined
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>
self.create_fixture = <bound method BaseRbac.create_fixture of <serial...wner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>>
global VNFixture = <class 'vn_test.VNFixture'>
connections = <common.connections.ContrailConnections object>
option = 'contrail'
kwargs = {}
/contrail-test/serial_scripts/rbac/base.py in create_fixture(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>, fixturecls=<class 'vn_test.VNFixture'>, **kwargs={'connections': <common.connections.ContrailConnections object>, 'option': 'contrail'})
352 def create_fixture(self, fixturecls, **kwargs):
353 try:
354 return self.useFixture(fixturecls(**kwargs))
355 except (PermissionDenied, neutron_forbidden):
356 return None
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>
self.useFixture = <bound method TestCase.useFixture of <serial_scr...wner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>>
fixturecls = <class 'vn_test.VNFixture'>
kwargs = {'connections': <common.connections.ContrailConnections object>, 'option': 'contrail'}
/usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>, fixture=<vn_test.VNFixture object>)
754 # Gather_details worked, so raise the exception setUp
755 # encountered.
756 reraise(*exc_info)
757 else:
758 self.addCleanup(fixture.cleanUp)
global reraise = <function reraise>
exc_info = (<class 'ValueError'>, ValueError('could not find ctest-TestRbacBasic-30150214-78084689 in orchestrator'), <traceback object>)
/usr/local/lib/python3.9/site-packages/testtools/_compat3x.py in reraise(exc_class=<class 'ValueError'>, exc_obj=ValueError('could not find ctest-TestRbacBasic-30150214-78084689 in orchestrator'), exc_tb=<traceback object>, _marker=<object object>)
13
14 def reraise(exc_class, exc_obj, exc_tb, _marker=object()):
15 """Re-raise an exception received from sys.exc_info() or similar."""
16 raise exc_obj.with_traceback(exc_tb)
17
exc_obj = ValueError('could not find ctest-TestRbacBasic-30150214-78084689 in orchestrator')
exc_obj.with_traceback = <built-in method with_traceback of ValueError object>
exc_tb = <traceback object>
/usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...owner[ci_sanity,sanity,suite1] id=0x7fa90e66df40>, fixture=<vn_test.VNFixture object>)
729 """
730 try:
731 fixture.setUp()
732 except MultipleExceptions as e:
733 if (fixtures is not None and
fixture = <vn_test.VNFixture object>
fixture.setUp = <bound method VNFixture.setUp of <vn_test.VNFixture object>>
/contrail-test/fixtures/vn_test.py in setUp(self=<vn_test.VNFixture object>)
437 def setUp(self):
438 super(VNFixture, self).setUp()
439 self.create()
440
441 def create(self):
self = <vn_test.VNFixture object>
self.create = <bound method VNFixture.create of <vn_test.VNFixture object>>
/contrail-test/fixtures/vn_test.py in create(self=<vn_test.VNFixture object>)
448 self.webui.create_vn(self)
449 elif (self.option == 'contrail'):
450 self._create_vn_api(self.vn_name, self.project_obj)
451 else:
452 self._create_vn_orch()
self = <vn_test.VNFixture object>
self._create_vn_api = <bound method VNFixture._create_vn_api of <vn_test.VNFixture object>>
self.vn_name = 'ctest-TestRbacBasic-30150214-78084689'
self.project_obj = <vnc_api.gen.resource_client.Project object>
/contrail-test/fixtures/vn_test.py in _create_vn_api(self=<vn_test.VNFixture object>, vn_name='ctest-TestRbacBasic-30150214-78084689', project_obj=<vnc_api.gen.resource_client.Project object>)
427 self.obj = self._orch_call('get_vn_obj_from_id', self.uuid)
428 if self.obj is None:
429 raise ValueError('could not find %s in orchestrator' % (self.vn_name))
430
431 def get_api_obj(self):
builtinValueError = <class 'ValueError'>
self = <vn_test.VNFixture object>
self.vn_name = 'ctest-TestRbacBasic-30150214-78084689'
ValueError: could not find ctest-TestRbacBasic-30150214-78084689 in orchestrator
__cause__ = None
__class__ = <class 'ValueError'>
__context__ = None
__delattr__ = <method-wrapper '__delattr__' of ValueError object>
__dict__ = {}
__dir__ = <built-in method __dir__ of ValueError object>
__doc__ = 'Inappropriate argument value (of correct type).'
__eq__ = <method-wrapper '__eq__' of ValueError object>
__format__ = <built-in method __format__ of ValueError object>
__ge__ = <method-wrapper '__ge__' of ValueError object>
__getattribute__ = <method-wrapper '__getattribute__' of ValueError object>
__gt__ = <method-wrapper '__gt__' of ValueError object>
__hash__ = <method-wrapper '__hash__' of ValueError object>
__init__ = <method-wrapper '__init__' of ValueError object>
__init_subclass__ = <built-in method __init_subclass__ of type object>
__le__ = <method-wrapper '__le__' of ValueError object>
__lt__ = <method-wrapper '__lt__' of ValueError object>
__ne__ = <method-wrapper '__ne__' of ValueError object>
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of ValueError object>
__reduce_ex__ = <built-in method __reduce_ex__ of ValueError object>
__repr__ = <method-wrapper '__repr__' of ValueError object>
__setattr__ = <method-wrapper '__setattr__' of ValueError object>
__setstate__ = <built-in method __setstate__ of ValueError object>
__sizeof__ = <built-in method __sizeof__ of ValueError object>
__str__ = <method-wrapper '__str__' of ValueError object>
__subclasshook__ = <built-in method __subclasshook__ of type object>
__suppress_context__ = False
__traceback__ = <traceback object>
args = ('could not find ctest-TestRbacBasic-30150214-78084689 in orchestrator',)
with_traceback = <built-in method with_traceback of ValueError object>
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/contrail-test/tcutils/wrappers.py", line 80, in wrapper
result = function(self, *args, **kwargs)
File "/contrail-test/serial_scripts/rbac/test_rbac_basic.py", line 225, in test_perms2_owner
vn = self.create_vn(connections=u1_p1_conn, verify=False)
File "/contrail-test/serial_scripts/rbac/base.py", line 216, in create_vn
vn_fixture = self.create_fixture(VNFixture, connections=connections,
File "/contrail-test/serial_scripts/rbac/base.py", line 354, in create_fixture
return self.useFixture(fixturecls(**kwargs))
File "/usr/local/lib/python3.9/site-packages/testtools/testcase.py", line 756, in useFixture
reraise(*exc_info)
File "/usr/local/lib/python3.9/site-packages/testtools/_compat3x.py", line 16, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/usr/local/lib/python3.9/site-packages/testtools/testcase.py", line 731, in useFixture
fixture.setUp()
File "/contrail-test/fixtures/vn_test.py", line 439, in setUp
self.create()
File "/contrail-test/fixtures/vn_test.py", line 450, in create
self._create_vn_api(self.vn_name, self.project_obj)
File "/contrail-test/fixtures/vn_test.py", line 429, in _create_vn_api
raise ValueError('could not find %s in orchestrator' % (self.vn_name))
ValueError: could not find ctest-TestRbacBasic-30150214-78084689 in orchestrator
| 70.679 |
Log File
|
| test_rbac_acl_different_roles[ci_sanity,sanity,suite1] | Failure | Details
Traceback (most recent call last):
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/contrail-test/tcutils/wrappers.py", line 176, in wrapper
raise TestFailed("\n ".join(errmsg))
tcutils.cores.TestFailed: Test failed: ValueError
Python 3.9.21: /usr/bin/python3
Wed Nov 5 08:15:30 2025
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=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>, *args=(), **kwargs={})
78 log.info('Initial checks done. Running the testcase now')
79 log.info('')
80 result = function(self, *args, **kwargs)
81 if self.inputs.upgrade:
82 pid = os.getpid()
result = None
function = <function TestRbacBasic.test_rbac_acl_different_roles>
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>
args = ()
kwargs = {}
/contrail-test/serial_scripts/rbac/test_rbac_basic.py in test_rbac_acl_different_roles(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>)
45 ]
46 proj_rbac = self.create_rbac_acl(rules=vn_rules)
47 vn = self.create_vn(connections=user1_conn)
48 assert vn, 'VN creation failed'
49 assert not self.create_st(connections=user1_conn), 'ST creation should have failed'
vn undefined
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>
self.create_vn = <bound method BaseRbac.create_vn of <serial_scri...oles[ci_sanity,sanity,suite1] id=0x7fa90e679100>>
connections undefined
user1_conn = <common.connections.ContrailConnections object>
/contrail-test/serial_scripts/rbac/base.py in create_vn(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>, connections=<common.connections.ContrailConnections object>, verify=True, option='contrail', **kwargs={})
214 def create_vn(self, connections=None, verify=True, option='contrail', **kwargs):
215 connections = connections or self.connections
216 vn_fixture = self.create_fixture(VNFixture, connections=connections,
217 option=option, **kwargs)
218 if vn_fixture and verify:
vn_fixture undefined
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>
self.create_fixture = <bound method BaseRbac.create_fixture of <serial...oles[ci_sanity,sanity,suite1] id=0x7fa90e679100>>
global VNFixture = <class 'vn_test.VNFixture'>
connections = <common.connections.ContrailConnections object>
option = 'contrail'
kwargs = {}
/contrail-test/serial_scripts/rbac/base.py in create_fixture(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>, fixturecls=<class 'vn_test.VNFixture'>, **kwargs={'connections': <common.connections.ContrailConnections object>, 'option': 'contrail'})
352 def create_fixture(self, fixturecls, **kwargs):
353 try:
354 return self.useFixture(fixturecls(**kwargs))
355 except (PermissionDenied, neutron_forbidden):
356 return None
self = <serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>
self.useFixture = <bound method TestCase.useFixture of <serial_scr...oles[ci_sanity,sanity,suite1] id=0x7fa90e679100>>
fixturecls = <class 'vn_test.VNFixture'>
kwargs = {'connections': <common.connections.ContrailConnections object>, 'option': 'contrail'}
/usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>, fixture=<vn_test.VNFixture object>)
754 # Gather_details worked, so raise the exception setUp
755 # encountered.
756 reraise(*exc_info)
757 else:
758 self.addCleanup(fixture.cleanUp)
global reraise = <function reraise>
exc_info = (<class 'ValueError'>, ValueError('could not find ctest-TestRbacBasic-18761679-99230782 in orchestrator'), <traceback object>)
/usr/local/lib/python3.9/site-packages/testtools/_compat3x.py in reraise(exc_class=<class 'ValueError'>, exc_obj=ValueError('could not find ctest-TestRbacBasic-18761679-99230782 in orchestrator'), exc_tb=<traceback object>, _marker=<object object>)
13
14 def reraise(exc_class, exc_obj, exc_tb, _marker=object()):
15 """Re-raise an exception received from sys.exc_info() or similar."""
16 raise exc_obj.with_traceback(exc_tb)
17
exc_obj = ValueError('could not find ctest-TestRbacBasic-18761679-99230782 in orchestrator')
exc_obj.with_traceback = <built-in method with_traceback of ValueError object>
exc_tb = <traceback object>
/usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=<serial_scripts.rbac.test_rbac_basic.TestRbacBas...roles[ci_sanity,sanity,suite1] id=0x7fa90e679100>, fixture=<vn_test.VNFixture object>)
729 """
730 try:
731 fixture.setUp()
732 except MultipleExceptions as e:
733 if (fixtures is not None and
fixture = <vn_test.VNFixture object>
fixture.setUp = <bound method VNFixture.setUp of <vn_test.VNFixture object>>
/contrail-test/fixtures/vn_test.py in setUp(self=<vn_test.VNFixture object>)
437 def setUp(self):
438 super(VNFixture, self).setUp()
439 self.create()
440
441 def create(self):
self = <vn_test.VNFixture object>
self.create = <bound method VNFixture.create of <vn_test.VNFixture object>>
/contrail-test/fixtures/vn_test.py in create(self=<vn_test.VNFixture object>)
448 self.webui.create_vn(self)
449 elif (self.option == 'contrail'):
450 self._create_vn_api(self.vn_name, self.project_obj)
451 else:
452 self._create_vn_orch()
self = <vn_test.VNFixture object>
self._create_vn_api = <bound method VNFixture._create_vn_api of <vn_test.VNFixture object>>
self.vn_name = 'ctest-TestRbacBasic-18761679-99230782'
self.project_obj = <vnc_api.gen.resource_client.Project object>
/contrail-test/fixtures/vn_test.py in _create_vn_api(self=<vn_test.VNFixture object>, vn_name='ctest-TestRbacBasic-18761679-99230782', project_obj=<vnc_api.gen.resource_client.Project object>)
427 self.obj = self._orch_call('get_vn_obj_from_id', self.uuid)
428 if self.obj is None:
429 raise ValueError('could not find %s in orchestrator' % (self.vn_name))
430
431 def get_api_obj(self):
builtinValueError = <class 'ValueError'>
self = <vn_test.VNFixture object>
self.vn_name = 'ctest-TestRbacBasic-18761679-99230782'
ValueError: could not find ctest-TestRbacBasic-18761679-99230782 in orchestrator
__cause__ = None
__class__ = <class 'ValueError'>
__context__ = None
__delattr__ = <method-wrapper '__delattr__' of ValueError object>
__dict__ = {}
__dir__ = <built-in method __dir__ of ValueError object>
__doc__ = 'Inappropriate argument value (of correct type).'
__eq__ = <method-wrapper '__eq__' of ValueError object>
__format__ = <built-in method __format__ of ValueError object>
__ge__ = <method-wrapper '__ge__' of ValueError object>
__getattribute__ = <method-wrapper '__getattribute__' of ValueError object>
__gt__ = <method-wrapper '__gt__' of ValueError object>
__hash__ = <method-wrapper '__hash__' of ValueError object>
__init__ = <method-wrapper '__init__' of ValueError object>
__init_subclass__ = <built-in method __init_subclass__ of type object>
__le__ = <method-wrapper '__le__' of ValueError object>
__lt__ = <method-wrapper '__lt__' of ValueError object>
__ne__ = <method-wrapper '__ne__' of ValueError object>
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of ValueError object>
__reduce_ex__ = <built-in method __reduce_ex__ of ValueError object>
__repr__ = <method-wrapper '__repr__' of ValueError object>
__setattr__ = <method-wrapper '__setattr__' of ValueError object>
__setstate__ = <built-in method __setstate__ of ValueError object>
__sizeof__ = <built-in method __sizeof__ of ValueError object>
__str__ = <method-wrapper '__str__' of ValueError object>
__subclasshook__ = <built-in method __subclasshook__ of type object>
__suppress_context__ = False
__traceback__ = <traceback object>
args = ('could not find ctest-TestRbacBasic-18761679-99230782 in orchestrator',)
with_traceback = <built-in method with_traceback of ValueError object>
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/contrail-test/tcutils/wrappers.py", line 80, in wrapper
result = function(self, *args, **kwargs)
File "/contrail-test/serial_scripts/rbac/test_rbac_basic.py", line 47, in test_rbac_acl_different_roles
vn = self.create_vn(connections=user1_conn)
File "/contrail-test/serial_scripts/rbac/base.py", line 216, in create_vn
vn_fixture = self.create_fixture(VNFixture, connections=connections,
File "/contrail-test/serial_scripts/rbac/base.py", line 354, in create_fixture
return self.useFixture(fixturecls(**kwargs))
File "/usr/local/lib/python3.9/site-packages/testtools/testcase.py", line 756, in useFixture
reraise(*exc_info)
File "/usr/local/lib/python3.9/site-packages/testtools/_compat3x.py", line 16, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/usr/local/lib/python3.9/site-packages/testtools/testcase.py", line 731, in useFixture
fixture.setUp()
File "/contrail-test/fixtures/vn_test.py", line 439, in setUp
self.create()
File "/contrail-test/fixtures/vn_test.py", line 450, in create
self._create_vn_api(self.vn_name, self.project_obj)
File "/contrail-test/fixtures/vn_test.py", line 429, in _create_vn_api
raise ValueError('could not find %s in orchestrator' % (self.vn_name))
ValueError: could not find ctest-TestRbacBasic-18761679-99230782 in orchestrator
| 3.603 |
Log File
|
| test_contrail_status[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity] | Success | | 0.399 | |
| test_communication_between_two_sriov_vm[ci_sanity] | Skipped | Skipped as test is not supported if sriov_cluster=False | 0.003 | |
| test_communication_between_two_sriov_vm_with_large_mtu[ci_sanity] | Skipped | Skipped as test is not supported if sriov_cluster=False | 0.002 | |
| test_virtual_function_exhaustion_and_resue[ci_sanity] | Skipped | Skipped as test is not supported if sriov_cluster=False | 0.002 | |
| Name | Status | Type | Time(s) | LogFile |
| test_contrail_status[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity] | Success | | 0.528 | |
| test_verify_object_logs[ci_sanity,dev_sanity_dpdk,sanity,suite1] | Success | | 23.600 | |
| test_db_manage[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity] | Success | | 3.559 | |
| test_analytics_docs[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity] | Success | | 0.296 | |
| test_config_docs[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity] | Success | | 0.335 | |
| test_floating_ip[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,sanity,suite1,vrouter_gw] | Success | | 23.041 | |
| test_heat_stacks_list[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity] | Success | | 0.636 | |
| test_router_crud[ci_sanity,dev_sanity_dpdk,sanity] | Success | | 5.578 | |
| test_ports_bindings[ci_sanity,dev_sanity_dpdk,sanity] | Success | | 2.286 | |
| test_ports_specific_subnet_ip[ci_sanity,dev_sanity_dpdk,sanity] | Success | | 18.083 | |
| test_basic_router_behavior[ci_sanity,dev_sanity_dpdk,sanity] | Success | | 31.162 | |
| test_basic_snat_behavior_without_external_connectivity[ci_sanity,dev_sanity_dpdk,sanity,suite1] | Success | | 20.598 | |
| test_basic_policy_allow_deny[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,sanity,suite1] | Skipped | Disabling v6 tests for CI | 5.383 | |
| test_remove_policy_with_ref[ci_sanity,sanity] | Success | | 4.569 | |
| test_basic_policy_allow_deny[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,sanity,suite1] | Success | | 32.011 | |
| test_rp_interface[ci_sanity,sanity] | Success | | 21.677 | |
| test_svc_in_network_datapath[ci_sanity] | Success | | 63.403 | |
| test_vdns_ping_same_vn[ci_sanity,sanity,suite1] | Success | | 46.134 | |
| test_vm_file_trf_scp_tests[ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,vrouter_gw] | Success | | 21.809 | |
| test_generic_link_local_service[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,dev_sanity_dpdk,sanity,suite1] | Success | | 17.939 | |
| test_metadata_service[cb_sanity,ci_sanity,sanity,suite1] | Success | | 16.823 | |
| test_ping_within_vn_two_vms_two_different_subnets[ci_contrail_go_kolla_ocata_sanity,ci_sanity,sanity,suite1] | Success | | 33.710 | |