2025-11-04 17:13:43,953 - DEBUG - [10.0.0.22]: Running cmd : hostname 2025-11-04 17:13:44,149 - DEBUG - Output : cn-jenkins-deploy-platform-ansible-os-4619-1 2025-11-04 17:13:44,149 - DEBUG - [10.0.0.22]: Running cmd : hostname -f 2025-11-04 17:13:44,208 - DEBUG - Output : cn-jenkins-deploy-platform-ansible-os-4619-1. 2025-11-04 17:13:44,208 - DEBUG - [10.0.0.22]: Running cmd : docker ps 2>/dev/null | grep -v "/pause\|/usr/bin/pod\|nova_api_\|contrail.*init\|init.*contrail\|provisioner\|placement" | awk '{print $NF}' 2025-11-04 17:13:44,314 - DEBUG - Output : NAMES contrail_test_o6uT3JmBy vrouter_vrouter-agent_1 vrouter_nodemgr_1 rsyslogd_rsyslogd_1 analytics_snmp_topology_1 analytics_snmp_nodemgr_1 analytics_snmp_snmp-collector_1 analytics_alarm_nodemgr_1 analytics_alarm_alarm-gen_1 analytics_alarm_kafka_1 analytics_collector_1 analytics_api_1 analytics_nodemgr_1 analytics_database_nodemgr_1 analytics_database_query-engine_1 analytics_database_cassandra_1 control_named_1 control_nodemgr_1 control_dns_1 control_control_1 webui_job_1 webui_web_1 config_devicemgr_1 config_svcmonitor_1 config_api_1 config_schema_1 config_dnsmasq_1 config_nodemgr_1 config_database_rabbitmq_1 config_database_nodemgr_1 config_database_cassandra_1 config_database_zookeeper_1 redis_redis_1 barbican_worker barbican_keystone_listener barbican_api horizon heat_engine heat_api_cfn heat_api neutron_server nova_compute nova_libvirt nova_ssh nova_novncproxy nova_conductor nova_api nova_scheduler glance_api keystone keystone_fernet keystone_ssh rabbitmq memcached mariadb cron kolla_toolbox 2025-11-04 17:13:44,314 - DEBUG - [10.0.0.22]: Running cmd : getent hosts 10.0.0.22 | head -n 1 | awk '{print $2}' 2025-11-04 17:13:44,372 - DEBUG - Output : cn-jenkins-deploy-platform-ansible-os-4619-1. 2025-11-04 17:13:44,373 - DEBUG - [10.0.0.22]: Running cmd : ip -4 -o addr show | awk '{print $4}' 2025-11-04 17:13:44,433 - DEBUG - Output : 127.0.0.1/8 10.0.0.22/24 172.17.0.1/16 10.20.0.254/24 2025-11-04 17:13:44,433 - DEBUG - [10.0.0.22]: Running cmd : ip -4 -o addr show dev vhost0 | awk '{print $4}' 2025-11-04 17:13:44,496 - DEBUG - Output : 10.20.0.254/24 2025-11-04 17:13:44,496 - DEBUG - [10.0.0.22]: Running cmd : getent hosts 10.20.0.254 | head -n 1 | awk '{print $2}' 2025-11-04 17:13:44,556 - DEBUG - Output : cn-jenkins-deploy-platform-ansible-os-4619-1-test 2025-11-04 17:13:45,370 - DEBUG - Not creating keypair since it exists 2025-11-04 17:13:45,420 - INFO - Domain Default found not creating 2025-11-04 17:13:45,905 - INFO - Project ctest-TestRbac-56163100 not found, creating it 2025-11-04 17:13:46,348 - INFO - Created Project:ctest-TestRbac-56163100, ID : 9f5e9cde-76ca-4805-8f98-207c68d63f4c 2025-11-04 17:13:47,926 - DEBUG - [10.0.0.22]: Running cmd : docker exec --privileged -it analytics_api_1 /bin/bash -c 'crudini --get /etc/contrail/contrail-analytics-api.conf DEFAULTS aaa_mode' 2025-11-04 17:13:48,002 - DEBUG - Output : /bin/bash: line 1: crudini: command not found 2025-11-04 17:13:50,271 - INFO - ================================================================================ 2025-11-04 17:13:50,271 - INFO - STARTING TEST : test_perms2_global_share 2025-11-04 17:13:50,271 - INFO - TEST DESCRIPTION : Test perms2 global shared property of an object steps: 1. Add user1 as role1 in project1 and project2 2. Add *.* role1:CRUD to domain acl 3. Create a Shared virtual-network in project1 4. Verify global shared flag is set on VN's perms2 4. Using shared VN try to launch a VM in project2 2025-11-04 17:13:50,399 - DEBUG - Skipping xmpp flap check 2025-11-04 17:13:50,399 - DEBUG - Requesting: http://10.0.0.22:8082/aaa-mode 2025-11-04 17:13:50,712 - DEBUG - Requesting: http://10.0.0.22:8082/aaa-mode 2025-11-04 17:13:50,734 - INFO - Initial checks done. Running the testcase now 2025-11-04 17:13:50,734 - INFO - 2025-11-04 17:13:51,096 - INFO - Project ctest-TestRbac-43867528 not found, creating it 2025-11-04 17:13:51,523 - INFO - Created Project:ctest-TestRbac-43867528, ID : 9794170d-a569-450f-a328-75b2b5c57394 2025-11-04 17:13:51,886 - INFO - Project ctest-TestRbac-96914703 not found, creating it 2025-11-04 17:13:52,318 - INFO - Created Project:ctest-TestRbac-96914703, ID : ba7bab3b-dd8a-4581-b7bf-18374a285a63 2025-11-04 17:13:54,129 - DEBUG - Requesting: http://10.0.0.22:8082/api-access-list/d32dc18a-fe04-4676-8e57-9b561f93703f 2025-11-04 17:13:54,466 - DEBUG - Requesting: http://10.0.0.22:8082/api-access-list/d32dc18a-fe04-4676-8e57-9b561f93703f 2025-11-04 17:13:54,517 - DEBUG - API access-list (d32dc18a-fe04-4676-8e57-9b561f93703f) found in api server 2025-11-04 17:13:54,517 - INFO - API access-list d32dc18a-fe04-4676-8e57-9b561f93703f verify on api server passed 2025-11-04 17:13:55,101 - INFO - Created VN ctest-TestRbac-43867528-59182845, UUID :fe8ac6f7-16b7-452d-b457-c8e93b174fc7 2025-11-04 17:13:55,441 - DEBUG - Requesting: http://10.0.0.22:8082/virtual-network/fe8ac6f7-16b7-452d-b457-c8e93b174fc7 2025-11-04 17:13:55,767 - DEBUG - Requesting: http://10.0.0.22:8082/virtual-network/fe8ac6f7-16b7-452d-b457-c8e93b174fc7 2025-11-04 17:13:55,809 - INFO - API Server: Read VN fe8ac6f7-16b7-452d-b457-c8e93b174fc7 2025-11-04 17:13:55,809 - DEBUG - Requesting: http://10.0.0.22:8082/virtual-network/fe8ac6f7-16b7-452d-b457-c8e93b174fc7 2025-11-04 17:13:56,123 - DEBUG - Requesting: http://10.0.0.22:8082/virtual-network/fe8ac6f7-16b7-452d-b457-c8e93b174fc7 2025-11-04 17:13:56,466 - INFO - API Server: Read VN fe8ac6f7-16b7-452d-b457-c8e93b174fc7 2025-11-04 17:13:57,564 - WARNING - Unable to get the list of compute nodes 2025-11-04 17:13:57,578 - INFO - Deleting VN ctest-TestRbac-43867528-59182845 2025-11-04 17:13:57,671 - DEBUG - Requesting: http://10.0.0.22:8082/api-access-list/d32dc18a-fe04-4676-8e57-9b561f93703f 2025-11-04 17:13:57,676 - DEBUG - Response Code: 404 2025-11-04 17:13:57,676 - INFO - API access-list (d32dc18a-fe04-4676-8e57-9b561f93703f) got deleted in api server 2025-11-04 17:13:58,549 - INFO - Deleted project: ctest-TestRbac-96914703, ID : ba7bab3b-dd8a-4581-b7bf-18374a285a63 2025-11-04 17:13:59,271 - INFO - Deleted project: ctest-TestRbac-43867528, ID : 9794170d-a569-450f-a328-75b2b5c57394 2025-11-04 17:13:59,390 - ERROR - HTTPForbidden Python 3.9.21: /usr/bin/python3 Tue Nov 4 17:13:57 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=, *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 = self = args = () kwargs = {} /contrail-test/serial_scripts/rbac/test_rbac.py in test_perms2_global_share(self=) 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 = self.create_vm = > connections undefined u1_p2_conn = vn_fixture undefined vn = /contrail-test/serial_scripts/rbac/base.py in create_vm(self=, vn_fixture=, connections=, 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 = self.create_fixture = > global VMFixture = connections = vn_obj undefined vn_fixture = vn_fixture.obj = {'network': {'id': 'fe8ac6f7-16b7-452d-b457-c8e9...network-ipam']}], 'port_security_enabled': True}} image_name undefined admin_connections undefined self.connections = /contrail-test/serial_scripts/rbac/base.py in create_fixture(self=, fixturecls=, **kwargs={'admin_connections': , 'connections': , 'image_name': 'cirros', 'vn_obj': {'network': {'id': 'fe8ac6f7-16b7-452d-b457-c8e9...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 = self.useFixture = > fixturecls = kwargs = {'admin_connections': , 'connections': , 'image_name': 'cirros', 'vn_obj': {'network': {'id': 'fe8ac6f7-16b7-452d-b457-c8e9...network-ipam']}], 'port_security_enabled': True}}} /usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=, fixture=) 754 # Gather_details worked, so raise the exception setUp 755 # encountered. 756 reraise(*exc_info) 757 else: 758 self.addCleanup(fixture.cleanUp) global reraise = exc_info = (, HTTPForbidden(), ) /usr/local/lib/python3.9/site-packages/testtools/_compat3x.py in reraise(exc_class=, exc_obj=HTTPForbidden(), exc_tb=, _marker=) 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 = exc_tb = /usr/local/lib/python3.9/site-packages/testtools/testcase.py in useFixture(self=, fixture=) 729 """ 730 try: 731 fixture.setUp() 732 except MultipleExceptions as e: 733 if (fixtures is not None and fixture = fixture.setUp = > /contrail-test/fixtures/vm_test.py in setUp(self=) 191 def setUp(self): 192 super(VMFixture, self).setUp() 193 self.create() 194 195 def create(self): self = self.create = > /contrail-test/fixtures/vm_test.py in create(self=) 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 = self.orch = self.orch.create_vm = > project_uuid undefined self.project_id = 'ba7bab3b-dd8a-4581-b7bf-18374a285a63' image_name undefined self.image_name = 'cirros' flavor undefined self.flavor = 'contrail_flavor_tiny' vm_name undefined self.vm_name = 'ctest-TestRbac-96914703-26483085' vn_objs undefined self.vn_objs = [{'network': {'id': 'fe8ac6f7-16b7-452d-b457-c8e9...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=, vm_name='ctest-TestRbac-96914703-26483085', image_name='cirros', vn_objs=[{'network': {'id': 'fe8ac6f7-16b7-452d-b457-c8e9...network-ipam']}], 'port_security_enabled': True}}], **kwargs={'count': 1, 'fixed_ips': [], 'flavor': 'contrail_flavor_tiny', 'node_name': None, 'port_ids': [], 'project_uuid': 'ba7bab3b-dd8a-4581-b7bf-18374a285a63', '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 = self.nova_h = self.nova_h.create_vm = > vm_name = 'ctest-TestRbac-96914703-26483085' image_name = 'cirros' vn_ids = ['fe8ac6f7-16b7-452d-b457-c8e93b174fc7'] kwargs = {'count': 1, 'fixed_ips': [], 'flavor': 'contrail_flavor_tiny', 'node_name': None, 'port_ids': [], 'project_uuid': 'ba7bab3b-dd8a-4581-b7bf-18374a285a63', 'sg_ids': [], 'userdata': None, 'zone': None} /contrail-test/fixtures/nova_test.py in create_vm(self=, project_uuid='ba7bab3b-dd8a-4581-b7bf-18374a285a63', image_name='cirros', vm_name='ctest-TestRbac-96914703-26483085', vn_ids=['fe8ac6f7-16b7-452d-b457-c8e93b174fc7'], 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 = self.get_image = > image_name = 'cirros' /contrail-test/fixtures/nova_test.py in get_image(self=, 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 = self.find_image = > image_name = 'cirros' /contrail-test/fixtures/nova_test.py in find_image(self=, 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 = self.glance_h = self.glance_h.get_image = > image_name = 'cirros' /contrail-test/fixtures/glance_test.py in get_image(self=, 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 = self.obj = self.obj.images = self.obj.images.list = /usr/local/lib/python3.9/site-packages/glanceclient/common/utils.py in __next__(self=) 579 # For Python 3 compatibility 580 def __next__(self): 581 return self._next() 582 583 def __iter__(self): self = self._next = > /usr/local/lib/python3.9/site-packages/glanceclient/common/utils.py in _next(self=) 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 = self = self._self_wrapped = /usr/local/lib/python3.9/site-packages/glanceclient/v2/images.py in list(self=, **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 = .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 = self.http_client = self.http_client.get = > 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=, 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 = self.request = > 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=, 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 = self._handle_response = > resp = /usr/local/lib/python3.9/site-packages/glanceclient/common/http.py in _handle_response(self=, resp=) 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 = exc.from_response = resp = resp.content = b'\n \n 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. 2025-11-04 17:13:59,391 - DEBUG - Skipping xmpp flap check 2025-11-04 17:13:59,391 - INFO - 2025-11-04 17:13:59,391 - INFO - END TEST : test_perms2_global_share : FAILED[0:00:09] 2025-11-04 17:13:59,391 - INFO - -------------------------------------------------------------------------------- 2025-11-04 17:14:00,698 - INFO - Deleted project: ctest-TestRbac-56163100, ID : 9f5e9cde-76ca-4805-8f98-207c68d63f4c 2025-11-04 17:14:02,922 - DEBUG - [10.0.0.22]: Running cmd : docker exec --privileged -it analytics_api_1 /bin/bash -c 'crudini --get /etc/contrail/contrail-analytics-api.conf DEFAULTS aaa_mode' 2025-11-04 17:14:02,997 - DEBUG - Output : /bin/bash: line 1: crudini: command not found 2025-11-04 17:14:05,222 - DEBUG - Requesting: http://10.0.0.22:8082/aaa-mode 2025-11-04 17:15:15,423 - DEBUG - Requesting: http://10.0.0.22:8082/aaa-mode 2025-11-04 17:16:23,914 - DEBUG - [10.0.0.22]: Running cmd : docker ps -f status=running --format {{.Names}} 2>/dev/null 2025-11-04 17:16:24,009 - DEBUG - Output : contrail_test_o6uT3JmBy vrouter_vrouter-agent_1 vrouter_nodemgr_1 vrouter_provisioner_1 rsyslogd_rsyslogd_1 analytics_snmp_provisioner_1 analytics_snmp_topology_1 analytics_snmp_nodemgr_1 analytics_snmp_snmp-collector_1 analytics_alarm_nodemgr_1 analytics_alarm_provisioner_1 analytics_alarm_alarm-gen_1 analytics_alarm_kafka_1 analytics_provisioner_1 analytics_collector_1 analytics_api_1 analytics_nodemgr_1 analytics_database_nodemgr_1 analytics_database_query-engine_1 analytics_database_provisioner_1 analytics_database_cassandra_1 control_named_1 control_nodemgr_1 control_dns_1 control_provisioner_1 control_control_1 webui_job_1 webui_web_1 config_devicemgr_1 config_svcmonitor_1 config_api_1 config_schema_1 config_dnsmasq_1 config_nodemgr_1 config_provisioner_1 config_database_provisioner_1 config_database_rabbitmq_1 config_database_nodemgr_1 config_database_cassandra_1 config_database_zookeeper_1 redis_redis_1 barbican_worker barbican_keystone_listener barbican_api horizon heat_engine heat_api_cfn heat_api neutron_server nova_compute nova_libvirt nova_ssh nova_novncproxy nova_conductor nova_api nova_scheduler placement_api glance_api keystone keystone_fernet keystone_ssh rabbitmq memcached mariadb cron kolla_toolbox