<?xml version="1.0" encoding="UTF-8" ?>
<testsuites>
  <testsuite errors="0" failures="2" id="0" name="" package="" skipped="32" tests="81" time="5614.847">
    <testcase classname="scripts.RR.test_rr.TestBasicRR" name="test_basic_RR[sanity]" time="1.389">
      <skipped>Skipping Test. Env variable MX_GW_TEST is not set. Skipping the test</skipped>

    </testcase>

    <testcase classname="scripts.RR.test_rr.TestBasicRR" name="test_create_vm_after_RR_set[sanity]" time="1.281">
      <skipped>Skipping Test. Env variable MX_GW_TEST is not set. Skipping the test</skipped>

    </testcase>

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity" name="test_contrail_status[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity]" time="1.850" />

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity3" name="test_db_nodemgr_status[dev_sanity_dpdk,sanity]" time="1.828" />

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity3" name="test_verify_generator_collector_connections[dev_sanity_dpdk,sanity]" time="3.610" />

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity3" name="test_verify_generator_connections_to_collector_node[dev_sanity_dpdk,sanity]" time="2.191" />

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity3" name="test_verify_process_status_agent[cb_sanity,dev_sanity_dpdk,sanity]" time="1.302" />

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity3" name="test_verify_process_status_analytics_node[cb_sanity,dev_sanity_dpdk,sanity]" time="1.666" />

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity3" name="test_verify_process_status_control_node[cb_sanity,dev_sanity_dpdk,sanity]" time="1.312" />

    <testcase classname="scripts.analytics.test_analytics_basic.AnalyticsBasicTestSanity" name="test_verify_object_logs[ci_sanity,dev_sanity_dpdk,sanity,suite1]" time="25.997" />

    <testcase classname="scripts.db_manage.test_db_manage.DbManageTest" name="test_db_manage[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity]" time="5.829" />

    <testcase classname="scripts.documentation.test_docs.DocumentationTest" name="test_analytics_docs[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity]" time="1.276" />

    <testcase classname="scripts.documentation.test_docs.DocumentationTest" name="test_config_docs[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity]" time="1.290" />

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPConfigHashFeature" name="test_ecmp_hash_src_ip[sanity]" time="1.319">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPFeature" name="test_ecmp_svc_v2_in_network_nat_with_3_instance[cb_sanity,sanity]" time="1.320">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPIPv6Fragments" name="test_ecmp_svc_in_network_with_static_route_no_policy[sanity]" time="2.417">
      <skipped>image /contrail-test/images/tinycore-in-network.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPIPv6Fragments" name="test_ecmp_svc_v2_transparent_with_3_instance[cb_sanity,sanity]" time="1.468">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPSanity" name="test_ecmp_svc_in_network_with_static_route_no_policy[sanity]" time="2.118">
      <skipped>image /contrail-test/images/tinycore-in-network.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPSanity" name="test_ecmp_svc_v2_transparent_with_3_instance[cb_sanity,sanity]" time="1.329">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPSanityIPv6" name="test_ecmp_svc_in_network_with_3_instance[cb_sanity,sanity]" time="1.313">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPwithSVMChange" name="test_ecmp_with_svm_deletion[sanity]" time="1.301">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestMultiInlineSVC" name="test_svc_fate_sharing_basic[sanity]" time="2.121">
      <skipped>image /contrail-test/images/tinycore-in-network.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestMultiInlineSVC" name="test_three_stage_v2_SC[sanity]" time="1.304">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.ecmp.test_ecmp.TestMultiInlineSVCIPv6" name="test_svc_fate_sharing_basic[sanity]" time="3.671">
      <skipped>image /contrail-test/images/tinycore-in-network.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.floatingip.test_floatingip_basic.FloatingipBasicTestSanity" name="test_floating_ip[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,sanity,suite1,vrouter_gw]" time="203.596" />

    <testcase classname="scripts.floatingip.test_mx.TestSanity_MX" name="test_mx_gateway[mx_test,sanity]" time="2.558">
      <skipped>Skipping Test. Env variable MX_GW_TEST is not set</skipped>

    </testcase>

    <testcase classname="scripts.heat.test_heat.TestHeat" name="test_public_access_thru_svc_w_fip[cb_sanity,sanity]" time="2.583">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.heat.test_heat.TestHeat" name="test_transit_vn_sym_1_innet[sanity]" time="2.560">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.heat.test_heat.TestHeatIPv6" name="test_public_access_thru_svc_w_fip[cb_sanity,sanity]" time="2.559">
      <skipped>Skipped as v6 not supported for this test</skipped>

    </testcase>

    <testcase classname="scripts.heat.test_heat_basic.TestBasicHeat" name="test_svc_creation_with_heat[dev_sanity_dpdk,sanity,suite1]" time="2.565">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.heat.test_heat_basic.TestBasicHeatIPv6" name="test_svc_creation_with_heat[sanity]" time="2.628">
      <skipped>Skipped as test requires at least 3 nodes, but only 2 found</skipped>

    </testcase>

    <testcase classname="scripts.neutron.test_crud.TestCRUD" name="test_router_crud[ci_sanity,dev_sanity_dpdk,sanity]" time="9.541" />

    <testcase classname="scripts.neutron.test_ports.TestPorts" name="test_ports_bindings[ci_sanity,dev_sanity_dpdk,sanity]" time="4.760" />

    <testcase classname="scripts.neutron.test_ports.TestPorts" name="test_ports_specific_subnet_ip[ci_sanity,dev_sanity_dpdk,sanity]" time="27.053" />

    <testcase classname="scripts.neutron.test_routers.TestRouters" name="test_basic_router_behavior[ci_sanity,dev_sanity_dpdk,sanity]" time="43.444" />

    <testcase classname="scripts.neutron.test_routers_basic.TestRoutersBasic" name="test_basic_snat_behavior_without_external_connectivity[ci_sanity,dev_sanity_dpdk,sanity,suite1]" time="33.034" />

    <testcase classname="scripts.policy.test_policy.TestBasicPolicyIpv4v6" name="test_basic_policy_allow_deny[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,sanity,suite1]" time="99.395" />

    <testcase classname="scripts.policy.test_policy.TestBasicPolicyIpv4v6" name="test_policy[quick_sanity,sanity]" time="221.570" />

    <testcase classname="scripts.policy.test_policy.TestBasicPolicyIpv4v6" name="test_policy_to_deny[quick_sanity,sanity]" time="97.468" />

    <testcase classname="scripts.policy.test_policy.TestBasicPolicyModifyIpv4v6" name="test_policy_modify_vn_policy[sanity]" time="106.217" />

    <testcase classname="scripts.policy.test_policy.TestBasicPolicyNegativeIpv4v6" name="test_remove_policy_with_ref[ci_sanity,sanity]" time="10.084" />

    <testcase classname="scripts.policy.test_policy_acl.TestPolicyAcl" name="test_policy_inheritance_src_vn_dst_pol[cb_sanity,sanity,vrouter_gw]" time="189.222" />

    <testcase classname="scripts.policy.test_policy_acl.TestPolicyAclIpv4v6" name="test_policy_inheritance_src_pol_dst_any[sanity]" time="178.677" />

    <testcase classname="scripts.policy.test_policy_basic.TestBasicPolicy" name="test_basic_policy_allow_deny[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,sanity,suite1]" time="129.390" />

    <testcase classname="scripts.policy.test_policy_detailed.TestDetailedPolicy0Ipv4v6" name="test_repeated_policy_modify[sanity]" time="166.905" />

    <testcase classname="scripts.policy.test_policy_detailed.TestDetailedPolicy1" name="test_multi_vn_repeated_policy_update_with_ping[sanity]" time="264.236" />

    <testcase classname="scripts.policy.test_policy_detailed.TestDetailedPolicy1Ipv4v6" name="test_multi_vn_repeated_policy_update_with_ping[sanity]" time="236.992" />

    <testcase classname="scripts.qos.test_qos.TestQos" name="test_qos_remark_dscp_on_vmi[cb_sanity,sanity]" time="42.040" />

    <testcase classname="scripts.routing_policy.test_routing_policy.TestRP" name="test_rp_interface[ci_sanity,sanity]" time="31.811" />

    <testcase classname="scripts.routing_policy.test_routing_policy.TestRP" name="test_rp_interface_ext_community[sanity]" time="32.479" />

    <testcase classname="scripts.routing_policy.test_routing_policy.TestRP" name="test_rp_interface_static[sanity]" time="31.240" />

    <testcase classname="scripts.routing_policy.test_routing_policy.TestRP" name="test_rp_secondary_routes[sanity]" time="0.002">
      <skipped>Needs MX_GW_TEST to be set</skipped>

    </testcase>

    <testcase classname="scripts.rt_filter.test_rt_filter.TestBasicRTFilter" name="test_rt_CEM_22032[cb_sanity,sanity]" time="80.097" />

    <testcase classname="scripts.rt_filter.test_rt_filter.TestBasicRTFilter" name="test_user_def_rt_entry[cb_sanity,sanity]" time="106.575" />

    <testcase classname="scripts.securitygroup.test_regression.SecurityGroupBasicRegressionTests1Ipv6" name="test_sec_group_basic[sanity,suite1]" time="333.603">
      <failure type="testtools.testresult.real._StringException">Traceback (most recent call last):
testtools.testresult.real._StringException: Traceback (most recent call last):
  File &quot;/contrail-test/scripts/securitygroup/test_regression.py&quot;, line 2149, in test_sec_group_basic
    super(SecurityGroupBasicRegressionTests1Ipv6, self).test_sec_group_basic()
  File &quot;/contrail-test/tcutils/wrappers.py&quot;, line 176, in wrapper
    raise TestFailed(&quot;\n &quot;.join(errmsg))
tcutils.cores.TestFailed: Test failed: AssertionError
Python 3.9.25: /usr/bin/python3
Thu Apr  2 03:07:40 2026

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=&lt;scripts.securitygroup.test_regression.SecurityG...sec_group_basic[sanity,suite1] id=0x7f0086c01430&gt;, *args=(), **kwargs={})
   78             log.info(&apos;Initial checks done. Running the testcase now&apos;)
   79             log.info(&apos;&apos;)
   80             result = function(self, *args, **kwargs)
   81             if self.inputs.upgrade:
   82                 pid = os.getpid()
result = None
function = &lt;function SecurityGroupBasicRegressionTests1.test_sec_group_basic&gt;
self = &lt;scripts.securitygroup.test_regression.SecurityG...sec_group_basic[sanity,suite1] id=0x7f0086c01430&gt;
args = ()
kwargs = {}

 /contrail-test/scripts/securitygroup/test_regression_basic.py in test_sec_group_basic(self=&lt;scripts.securitygroup.test_regression.SecurityG...sec_group_basic[sanity,suite1] id=0x7f0086c01430&gt;)
  127                 errmsg = &quot;Security group deleted, when it is attached to a VM.&quot;
  128                 self.logger.error(errmsg)
  129                 assert False, errmsg
  130 
  131         #Ping test, should fail
errmsg = &apos;Security group deleted, when it is attached to a VM.&apos;
AssertionError: Security group deleted, when it is attached to a VM.
    __cause__ = None
    __class__ = &lt;class &apos;AssertionError&apos;&gt;
    __context__ = NoIdError(&apos;Error: oper 1 url /fqname-to-id body ...\n \&apos;ctest-test_sec_group-78614450\&apos;] not found&apos;)
    __delattr__ = &lt;method-wrapper &apos;__delattr__&apos; of AssertionError object&gt;
    __dict__ = {}
    __dir__ = &lt;built-in method __dir__ of AssertionError object&gt;
    __doc__ = &apos;Assertion failed.&apos;
    __eq__ = &lt;method-wrapper &apos;__eq__&apos; of AssertionError object&gt;
    __format__ = &lt;built-in method __format__ of AssertionError object&gt;
    __ge__ = &lt;method-wrapper &apos;__ge__&apos; of AssertionError object&gt;
    __getattribute__ = &lt;method-wrapper &apos;__getattribute__&apos; of AssertionError object&gt;
    __gt__ = &lt;method-wrapper &apos;__gt__&apos; of AssertionError object&gt;
    __hash__ = &lt;method-wrapper &apos;__hash__&apos; of AssertionError object&gt;
    __init__ = &lt;method-wrapper &apos;__init__&apos; of AssertionError object&gt;
    __init_subclass__ = &lt;built-in method __init_subclass__ of type object&gt;
    __le__ = &lt;method-wrapper &apos;__le__&apos; of AssertionError object&gt;
    __lt__ = &lt;method-wrapper &apos;__lt__&apos; of AssertionError object&gt;
    __ne__ = &lt;method-wrapper &apos;__ne__&apos; of AssertionError object&gt;
    __new__ = &lt;built-in method __new__ of type object&gt;
    __reduce__ = &lt;built-in method __reduce__ of AssertionError object&gt;
    __reduce_ex__ = &lt;built-in method __reduce_ex__ of AssertionError object&gt;
    __repr__ = &lt;method-wrapper &apos;__repr__&apos; of AssertionError object&gt;
    __setattr__ = &lt;method-wrapper &apos;__setattr__&apos; of AssertionError object&gt;
    __setstate__ = &lt;built-in method __setstate__ of AssertionError object&gt;
    __sizeof__ = &lt;built-in method __sizeof__ of AssertionError object&gt;
    __str__ = &lt;method-wrapper &apos;__str__&apos; of AssertionError object&gt;
    __subclasshook__ = &lt;built-in method __subclasshook__ of type object&gt;
    __suppress_context__ = False
    __traceback__ = &lt;traceback object&gt;
    args = (&apos;Security group deleted, when it is attached to a VM.&apos;,)
    with_traceback = &lt;built-in method with_traceback of AssertionError object&gt;

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

Traceback (most recent call last):
  File &quot;/contrail-test/scripts/securitygroup/test_regression_basic.py&quot;, line 122, in test_sec_group_basic
    secgroup = self.vnc_lib.security_group_read(
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 52, in wrapper
    return func(self, *args, **kwargs)
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 700, in _object_read
    (args_ok, result) = self._read_args_to_id(
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1114, in _read_args_to_id
    return (True, self.fq_name_to_id(res_type, fq_name))
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 52, in wrapper
    return func(self, *args, **kwargs)
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1395, in fq_name_to_id
    content = self._request_server(OP_POST, uri, data=json_body)
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1126, in _request_server
    return self._request(
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1180, in _request
    raise NoIdError(&apos;Error: oper %s url %s body %s response %s&apos;
vnc_api.exceptions.NoIdError: Unknown id: Error: oper 1 url /fqname-to-id body {&quot;type&quot;: &quot;security-group&quot;, &quot;fq_name&quot;: [&quot;default-domain&quot;, &quot;ctest-SecurityGroupBasicRegressionTests1Ipv6-98709963&quot;, &quot;ctest-test_sec_group-78614450&quot;]} response Name [&apos;default-domain&apos;,
 &apos;ctest-SecurityGroupBasicRegressionTests1Ipv6-98709963&apos;,
 &apos;ctest-test_sec_group-78614450&apos;] not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File &quot;/contrail-test/tcutils/wrappers.py&quot;, line 80, in wrapper
    result = function(self, *args, **kwargs)
  File &quot;/contrail-test/scripts/securitygroup/test_regression_basic.py&quot;, line 129, in test_sec_group_basic
    assert False, errmsg
AssertionError: Security group deleted, when it is attached to a VM.

</failure>

    </testcase>

    <testcase classname="scripts.securitygroup.test_regression.SecurityGroupBasicRegressionTests1_contrail" name="test_sec_group_basic[sanity,suite1]" time="226.626" />

    <testcase classname="scripts.securitygroup.test_regression_basic.SecurityGroupBasicRegressionTests1" name="test_sec_group_basic[cb_sanity,ci_contrail_go_kolla_ocata_sanity,sanity,suite1]" time="186.927">
      <failure type="testtools.testresult.real._StringException">Traceback (most recent call last):
testtools.testresult.real._StringException: Traceback (most recent call last):
  File &quot;/contrail-test/tcutils/wrappers.py&quot;, line 176, in wrapper
    raise TestFailed(&quot;\n &quot;.join(errmsg))
tcutils.cores.TestFailed: Test failed: AssertionError
Python 3.9.25: /usr/bin/python3
Thu Apr  2 03:15:44 2026

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=&lt;scripts.securitygroup.test_regression_basic.Sec...la_ocata_sanity,sanity,suite1] id=0x7f0086bc24f0&gt;, *args=(), **kwargs={})
   78             log.info(&apos;Initial checks done. Running the testcase now&apos;)
   79             log.info(&apos;&apos;)
   80             result = function(self, *args, **kwargs)
   81             if self.inputs.upgrade:
   82                 pid = os.getpid()
result = None
function = &lt;function SecurityGroupBasicRegressionTests1.test_sec_group_basic&gt;
self = &lt;scripts.securitygroup.test_regression_basic.Sec...la_ocata_sanity,sanity,suite1] id=0x7f0086bc24f0&gt;
args = ()
kwargs = {}

 /contrail-test/scripts/securitygroup/test_regression_basic.py in test_sec_group_basic(self=&lt;scripts.securitygroup.test_regression_basic.Sec...la_ocata_sanity,sanity,suite1] id=0x7f0086bc24f0&gt;)
  127                 errmsg = &quot;Security group deleted, when it is attached to a VM.&quot;
  128                 self.logger.error(errmsg)
  129                 assert False, errmsg
  130 
  131         #Ping test, should fail
errmsg = &apos;Security group deleted, when it is attached to a VM.&apos;
AssertionError: Security group deleted, when it is attached to a VM.
    __cause__ = None
    __class__ = &lt;class &apos;AssertionError&apos;&gt;
    __context__ = NoIdError(&apos;Error: oper 1 url /fqname-to-id body ...\n \&apos;ctest-test_sec_group-06384935\&apos;] not found&apos;)
    __delattr__ = &lt;method-wrapper &apos;__delattr__&apos; of AssertionError object&gt;
    __dict__ = {}
    __dir__ = &lt;built-in method __dir__ of AssertionError object&gt;
    __doc__ = &apos;Assertion failed.&apos;
    __eq__ = &lt;method-wrapper &apos;__eq__&apos; of AssertionError object&gt;
    __format__ = &lt;built-in method __format__ of AssertionError object&gt;
    __ge__ = &lt;method-wrapper &apos;__ge__&apos; of AssertionError object&gt;
    __getattribute__ = &lt;method-wrapper &apos;__getattribute__&apos; of AssertionError object&gt;
    __gt__ = &lt;method-wrapper &apos;__gt__&apos; of AssertionError object&gt;
    __hash__ = &lt;method-wrapper &apos;__hash__&apos; of AssertionError object&gt;
    __init__ = &lt;method-wrapper &apos;__init__&apos; of AssertionError object&gt;
    __init_subclass__ = &lt;built-in method __init_subclass__ of type object&gt;
    __le__ = &lt;method-wrapper &apos;__le__&apos; of AssertionError object&gt;
    __lt__ = &lt;method-wrapper &apos;__lt__&apos; of AssertionError object&gt;
    __ne__ = &lt;method-wrapper &apos;__ne__&apos; of AssertionError object&gt;
    __new__ = &lt;built-in method __new__ of type object&gt;
    __reduce__ = &lt;built-in method __reduce__ of AssertionError object&gt;
    __reduce_ex__ = &lt;built-in method __reduce_ex__ of AssertionError object&gt;
    __repr__ = &lt;method-wrapper &apos;__repr__&apos; of AssertionError object&gt;
    __setattr__ = &lt;method-wrapper &apos;__setattr__&apos; of AssertionError object&gt;
    __setstate__ = &lt;built-in method __setstate__ of AssertionError object&gt;
    __sizeof__ = &lt;built-in method __sizeof__ of AssertionError object&gt;
    __str__ = &lt;method-wrapper &apos;__str__&apos; of AssertionError object&gt;
    __subclasshook__ = &lt;built-in method __subclasshook__ of type object&gt;
    __suppress_context__ = False
    __traceback__ = &lt;traceback object&gt;
    args = (&apos;Security group deleted, when it is attached to a VM.&apos;,)
    with_traceback = &lt;built-in method with_traceback of AssertionError object&gt;

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

Traceback (most recent call last):
  File &quot;/contrail-test/scripts/securitygroup/test_regression_basic.py&quot;, line 122, in test_sec_group_basic
    secgroup = self.vnc_lib.security_group_read(
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 52, in wrapper
    return func(self, *args, **kwargs)
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 700, in _object_read
    (args_ok, result) = self._read_args_to_id(
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1114, in _read_args_to_id
    return (True, self.fq_name_to_id(res_type, fq_name))
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 52, in wrapper
    return func(self, *args, **kwargs)
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1395, in fq_name_to_id
    content = self._request_server(OP_POST, uri, data=json_body)
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1126, in _request_server
    return self._request(
  File &quot;/usr/local/lib/python3.9/site-packages/vnc_api/vnc_api.py&quot;, line 1180, in _request
    raise NoIdError(&apos;Error: oper %s url %s body %s response %s&apos;
vnc_api.exceptions.NoIdError: Unknown id: Error: oper 1 url /fqname-to-id body {&quot;type&quot;: &quot;security-group&quot;, &quot;fq_name&quot;: [&quot;default-domain&quot;, &quot;ctest-SecurityGroupBasicRegressionTests1-83815566&quot;, &quot;ctest-test_sec_group-06384935&quot;]} response Name [&apos;default-domain&apos;,
 &apos;ctest-SecurityGroupBasicRegressionTests1-83815566&apos;,
 &apos;ctest-test_sec_group-06384935&apos;] not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File &quot;/contrail-test/tcutils/wrappers.py&quot;, line 80, in wrapper
    result = function(self, *args, **kwargs)
  File &quot;/contrail-test/scripts/securitygroup/test_regression_basic.py&quot;, line 129, in test_sec_group_basic
    assert False, errmsg
AssertionError: Security group deleted, when it is attached to a VM.

</failure>

    </testcase>

    <testcase classname="scripts.svc_firewall.test_svc_fw.TestSvcRegr" name="test_svc_in_net_nat_with_static_routes[sanity]" time="24.417">
      <skipped>image /contrail-test/images/tinycore-in-network-nat.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.svc_firewall.test_svc_fw.TestSvcRegr" name="test_svc_v2_transparent_datapath[sanity]" time="15.677">
      <skipped>image /contrail-test/images/tinycore-net-transparent-fw.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.svc_firewall.test_svc_fw_basic.TestSvcRegr" name="test_svc_CEM_22032[ci_sanity_WIP,quick_sanity,sanity,suite1]" time="14.854">
      <skipped>image /contrail-test/images/tinycore-in-network-nat.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.svc_firewall.test_svc_fw_basic.TestSvcRegr" name="test_svc_in_network_datapath[ci_sanity_WIP,quick_sanity,sanity,suite1]" time="18.187">
      <skipped>image /contrail-test/images/tinycore-in-network-nat.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.svc_health_check.test_svc_health_check.TestSvcHC" name="test_svc_hc_basic[sanity]" time="14.770">
      <skipped>image /contrail-test/images/tinycore-in-network-nat.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.svc_health_check.test_svc_health_check.TestSvcHC" name="test_svc_trans_segment_right_hc_fail_svm[sanity]" time="15.772">
      <skipped>image /contrail-test/images/tinycore-net-transparent-fw.qcow2 is not found</skipped>

    </testcase>

    <testcase classname="scripts.svc_mirror.test_mirror.TestSVCV2Mirror" name="test_svc_v2_mirroring[ci_sanity_WIP,quick_sanity,sanity]" time="177.630" />

    <testcase classname="scripts.vdns.test_vdns_basic.TestvDNSBasic0" name="test_vdns_ping_same_vn[ci_sanity,sanity,suite1]" time="214.636" />

    <testcase classname="scripts.vm_regression.test_vm.TestBasicVMVNx" name="test_sctp_traffic_between_vm[sanity]" time="224.159" />

    <testcase classname="scripts.vm_regression.test_vm_basic.TestBasicVMVN" name="test_generic_link_local_service[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity,dev_sanity_dpdk,sanity,suite1]" time="19.740" />

    <testcase classname="scripts.vm_regression.test_vm_basic.TestBasicVMVN" name="test_metadata_service[cb_sanity,ci_sanity,sanity,suite1]" time="23.001" />

    <testcase classname="scripts.vm_regression.test_vm_basic.TestBasicVMVN" name="test_ping_within_vn_two_vms_two_different_subnets[ci_contrail_go_kolla_ocata_sanity,ci_sanity,sanity,suite1]" time="39.123" />

    <testcase classname="scripts.vrouter.test_disable_policy.DisablePolicyEcmpIpv6" name="test_ecmp_with_static_routes[cb_sanity,dev_reg,sanity]" time="264.141" />

    <testcase classname="scripts.vrouter.test_dpdk_bond_lacp.TestLacp" name="test_bond_lacp_config[dev_reg,sanity]" time="2.602">
      <skipped>Skipped as test is not supported if dpdk_cluster=False </skipped>

    </testcase>

    <testcase classname="scripts.vrouter.test_dpdk_bond_status.TestDpdkBondStatus" name="test_dpdk_bond_status[dev_reg,sanity]" time="2.594">
      <skipped>Skipped as test is not supported if dpdk_cluster=False </skipped>

    </testcase>

    <testcase classname="scripts.vrouter.test_dpdk_fbit_disable_mbuf.TestFbitMergeBuffDisable" name="test_fbit_disable_mbuf_dpdk[dev_reg,sanity]" time="2.558">
      <skipped>Skipped as test is not supported if dpdk_cluster=False </skipped>

    </testcase>

    <testcase classname="scripts.vrouter.test_dpdk_gro_gso.TestGroGso" name="test_dpdk_gro_gso[dev_reg,sanity]" time="2.587">
      <skipped>Skipped as test is not supported if dpdk_cluster=False </skipped>

    </testcase>

    <testcase classname="scripts.vrouter.test_dpdk_vhost_mtu.TestMtu" name="test_mtu_config[dev_reg,sanity]" time="2.548">
      <skipped>Skipped as test is not supported if dpdk_cluster=False </skipped>

    </testcase>

    <testcase classname="scripts.vrouter.test_dpdk_vifdump.TestVifdump" name="test_vifdump_on_interface[dev_reg,sanity]" time="2.547">
      <skipped>Skipped as test is not supported if dpdk_cluster=False </skipped>

    </testcase>

    <testcase classname="scripts.vrouter.test_fat_flow_aggr.FatFlowAggr" name="test_fat_flow_aggr_dest_icmp_intra_vn_inter_node[dev_reg,sanity]" time="294.755" />

    <testcase classname="scripts.vrouter.test_routes.TestRoutes" name="test_rt_table_scenario_1[dev_reg,sanity]" time="57.497" />

    <testcase classname="scripts.vrouter.test_subinterfaces.TestSubInterfaces" name="test_vlan_interface_2[cb_sanity,dev_reg,dev_sanity_dpdk,sanity]" time="185.853" />

    <testcase classname="scripts.vrouter.test_tcp_mtu_probe.TestMtuProbe" name="test_mtu_probe_intra_node[dev_reg,sanity]" time="158.610" />

    <testcase classname="scripts.vrouter.test_vif_stats.TestvifStats" name="test_vif_statistics[dev_reg,sanity]" time="105.997" />

  </testsuite>
  <testsuite errors="0" failures="1" id="1" name="" package="" skipped="7" tests="28" time="3182.589">
    <testcase classname="serial_scripts.analytics.test_analytics_resource.AnalyticsTestSanityWithMin" name="test_run_contrail_flows_cli_cmds[sanity]" time="12.826" />

    <testcase classname="serial_scripts.analytics.test_analytics_resource.AnalyticsTestSanityWithMin" name="test_run_contrail_logs_cli_cmd_with_multiple_different_optional_args[sanity]" time="20.295" />

    <testcase classname="serial_scripts.analytics.test_analytics_resource.AnalyticsTestSanityWithMin" name="test_run_contrail_stats_cli_cmds[sanity]" time="27.367" />

    <testcase classname="serial_scripts.analytics.test_analytics_resource.AnalyticsTestSanityWithResource" name="test_verify_session_sampling_teardown[sanity]" time="223.737">
      <failure type="testtools.testresult.real._StringException">Traceback (most recent call last):
testtools.testresult.real._StringException: stdout: {{{
[cirros@169.254.0.5] sudo: ping -s 56 -c 3 -W 1  122.84.221.67
[cirros@169.254.0.5] sudo: ping -s 56 -c 3 -W 1  122.84.221.67
[cirros@169.254.0.5] out: PING 122.84.221.67 (122.84.221.67): 56 data bytes
[cirros@169.254.0.5] out: 64 bytes from 122.84.221.67: seq=0 ttl=63 time=5.023 ms
[cirros@169.254.0.5] out: 64 bytes from 122.84.221.67: seq=1 ttl=63 time=1.516 ms
[cirros@169.254.0.5] out: 64 bytes from 122.84.221.67: seq=2 ttl=63 time=1.312 ms
[cirros@169.254.0.5] out: 
[cirros@169.254.0.5] out: --- 122.84.221.67 ping statistics ---
[cirros@169.254.0.5] out: 3 packets transmitted, 3 packets received, 0% packet loss
[cirros@169.254.0.5] out: round-trip min/avg/max = 1.312/2.617/5.023 ms
[cirros@169.254.0.5] out:
}}}

Traceback (most recent call last):
  File &quot;/contrail-test/tcutils/wrappers.py&quot;, line 176, in wrapper
    raise TestFailed(&quot;\n &quot;.join(errmsg))
tcutils.cores.TestFailed: Test failed: AssertionError
Python 3.9.25: /usr/bin/python3
Thu Apr  2 03:58:33 2026

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=&lt;serial_scripts.analytics.test_analytics_resourc...sion_sampling_teardown[sanity] id=0x7f1d2d9ce5e0&gt;, *args=(), **kwargs={})
   78             log.info(&apos;Initial checks done. Running the testcase now&apos;)
   79             log.info(&apos;&apos;)
   80             result = function(self, *args, **kwargs)
   81             if self.inputs.upgrade:
   82                 pid = os.getpid()
result = None
function = &lt;function AnalyticsTestSanityWithResource.test_verify_session_sampling_teardown&gt;
self = &lt;serial_scripts.analytics.test_analytics_resourc...sion_sampling_teardown[sanity] id=0x7f1d2d9ce5e0&gt;
args = ()
kwargs = {}

 /contrail-test/serial_scripts/analytics/test_analytics_resource.py in test_verify_session_sampling_teardown(self=&lt;serial_scripts.analytics.test_analytics_resourc...sion_sampling_teardown[sanity] id=0x7f1d2d9ce5e0&gt;)
 1281         src_vn = self.res.vn1_fixture.vn_fq_name
 1282         dst_vn = self.res.vn2_fixture.vn_fq_name
 1283         result = self.verify_session_sampling_teardown(start_time, src_vn, dst_vn)
 1284 
 1285         assert result,&apos;Failed to get expected number of samples&apos;
result = True
self = &lt;serial_scripts.analytics.test_analytics_resourc...sion_sampling_teardown[sanity] id=0x7f1d2d9ce5e0&gt;
self.verify_session_sampling_teardown = &lt;bound method AnalyticsBaseTest.verify_session_s...ion_sampling_teardown[sanity] id=0x7f1d2d9ce5e0&gt;&gt;
start_time = &apos;1775102096752920&apos;
src_vn = &apos;default-domain:ctest-AnalyticsTestSanityWithResource-06112501:ctest-vn1-21928305&apos;
dst_vn = &apos;default-domain:ctest-AnalyticsTestSanityWithResource-06112501:ctest-vn2-23370203&apos;

 /contrail-test/serial_scripts/analytics/base.py in verify_session_sampling_teardown(self=&lt;serial_scripts.analytics.test_analytics_resourc...sion_sampling_teardown[sanity] id=0x7f1d2d9ce5e0&gt;, start_time=&apos;1775102096752920&apos;, src_vn=&apos;default-domain:ctest-AnalyticsTestSanityWithResource-06112501:ctest-vn1-21928305&apos;, dst_vn=&apos;default-domain:ctest-AnalyticsTestSanityWithResource-06112501:ctest-vn2-23370203&apos;)
  486         flow_record = self.analytics_obj.get_flows_vrouter_uve(
  487             vrouter=vm_host)
  488         assert not flow_record,&apos;flows not got deleted even after 240 sec&apos;
  489 
  490         res = self.analytics_obj.ops_inspect[ip].post_query(
flow_record = 12
AssertionError: flows not got deleted even after 240 sec
    __cause__ = None
    __class__ = &lt;class &apos;AssertionError&apos;&gt;
    __context__ = None
    __delattr__ = &lt;method-wrapper &apos;__delattr__&apos; of AssertionError object&gt;
    __dict__ = {}
    __dir__ = &lt;built-in method __dir__ of AssertionError object&gt;
    __doc__ = &apos;Assertion failed.&apos;
    __eq__ = &lt;method-wrapper &apos;__eq__&apos; of AssertionError object&gt;
    __format__ = &lt;built-in method __format__ of AssertionError object&gt;
    __ge__ = &lt;method-wrapper &apos;__ge__&apos; of AssertionError object&gt;
    __getattribute__ = &lt;method-wrapper &apos;__getattribute__&apos; of AssertionError object&gt;
    __gt__ = &lt;method-wrapper &apos;__gt__&apos; of AssertionError object&gt;
    __hash__ = &lt;method-wrapper &apos;__hash__&apos; of AssertionError object&gt;
    __init__ = &lt;method-wrapper &apos;__init__&apos; of AssertionError object&gt;
    __init_subclass__ = &lt;built-in method __init_subclass__ of type object&gt;
    __le__ = &lt;method-wrapper &apos;__le__&apos; of AssertionError object&gt;
    __lt__ = &lt;method-wrapper &apos;__lt__&apos; of AssertionError object&gt;
    __ne__ = &lt;method-wrapper &apos;__ne__&apos; of AssertionError object&gt;
    __new__ = &lt;built-in method __new__ of type object&gt;
    __reduce__ = &lt;built-in method __reduce__ of AssertionError object&gt;
    __reduce_ex__ = &lt;built-in method __reduce_ex__ of AssertionError object&gt;
    __repr__ = &lt;method-wrapper &apos;__repr__&apos; of AssertionError object&gt;
    __setattr__ = &lt;method-wrapper &apos;__setattr__&apos; of AssertionError object&gt;
    __setstate__ = &lt;built-in method __setstate__ of AssertionError object&gt;
    __sizeof__ = &lt;built-in method __sizeof__ of AssertionError object&gt;
    __str__ = &lt;method-wrapper &apos;__str__&apos; of AssertionError object&gt;
    __subclasshook__ = &lt;built-in method __subclasshook__ of type object&gt;
    __suppress_context__ = False
    __traceback__ = &lt;traceback object&gt;
    args = (&apos;flows not got deleted even after 240 sec&apos;,)
    with_traceback = &lt;built-in method with_traceback of AssertionError object&gt;

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

Traceback (most recent call last):
  File &quot;/contrail-test/tcutils/wrappers.py&quot;, line 80, in wrapper
    result = function(self, *args, **kwargs)
  File &quot;/contrail-test/serial_scripts/analytics/test_analytics_resource.py&quot;, line 1283, in test_verify_session_sampling_teardown
    result = self.verify_session_sampling_teardown(start_time, src_vn, dst_vn)
  File &quot;/contrail-test/serial_scripts/analytics/base.py&quot;, line 488, in verify_session_sampling_teardown
    assert not flow_record,&apos;flows not got deleted even after 240 sec&apos;
AssertionError: flows not got deleted even after 240 sec

</failure>

    </testcase>

    <testcase classname="serial_scripts.asn4.test_asn4.TestAsn4" name="test_basic_as4_ibgp_sanity[sanity]" time="2.595">
      <skipped>Skipping Test. At least 1 external router required to run the test</skipped>

    </testcase>

    <testcase classname="serial_scripts.bgpaas.test_bgpaas_local_as.TestBGPaaSlocalAS" name="test_basic_bgpaas_local_as[dev_sanity_dpdk,sanity]" time="240.816" />

    <testcase classname="serial_scripts.bgpaas.test_bgpaas_zone.TestBGPaasZone" name="test_bgp_control_node_zone[sanity]" time="262.597" />

    <testcase classname="serial_scripts.bgpaas.test_bgpaas_zone.TestBGPaasZone" name="test_bgp_control_node_zones_from_single_vnf[sanity]" time="238.475" />

    <testcase classname="serial_scripts.device_manager.test_dm.TestDM" name="test_basic_dm[sanity]" time="2.551">
      <skipped>dm_mx env needs to be set in testbed.py to run this script</skipped>

    </testcase>

    <testcase classname="serial_scripts.encap.test_encap.TestEncapCases" name="test_apply_policy_fip_on_same_vn_gw_mx[sanity,serial]" time="2.557">
      <skipped>Skipping Test. Env variable MX_TEST is not set. Skipping the test</skipped>

    </testcase>

    <testcase classname="serial_scripts.evpn.test_evpn.TestEvpnCasesRestart" name="test_with_vxlan_encap_agent_restart[sanity,serial]" time="301.478" />

    <testcase classname="serial_scripts.floatingip.test_mx.TestSerialSanity_MX" name="test_change_of_rt_in_vn[mx_test,sanity,serial]" time="2.595">
      <skipped>Skipping Test. Env variable MX_GW_TEST is not set</skipped>

    </testcase>

    <testcase classname="serial_scripts.gw_less_fwd.test_gw_less_fwd.TestGWLessFWD" name="test_gw_less_fwd_single_vn_ip_fab[cb_sanity,sanity]" time="2.569">
      <skipped>Skipping Test. Fabric gateway is required to run the test</skipped>

    </testcase>

    <testcase classname="serial_scripts.md5.test_md5.TestMd5testsOnControl" name="test_check_per_peer_on_control[sanity]" time="54.140" />

    <testcase classname="serial_scripts.md5.test_md5.TestMd5testsOnControl" name="test_create_md5_on_control[sanity]" time="54.164" />

    <testcase classname="serial_scripts.rbac.test_rbac.TestRbac" name="test_perms2_global_share[ci_sanity,sanity]" time="71.029" />

    <testcase classname="serial_scripts.rbac.test_rbac_basic.TestRbacBasic" name="test_perms2_owner[ci_sanity,sanity,suite1]" time="17.353" />

    <testcase classname="serial_scripts.rbac.test_rbac_basic.TestRbacBasic" name="test_rbac_acl_different_roles[ci_sanity,sanity,suite1]" time="17.465" />

    <testcase classname="serial_scripts.rbac.test_rbac_basic.TestRbacBasic" name="test_rbac_create_delete_vm[sanity,suite1]" time="45.025" />

    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity" name="test_contrail_status[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity]" time="3.558" />

    <testcase classname="serial_scripts.vm_regression.test_vm_serial.TestBasicVMVN0" name="test_control_node_switchover[cb_sanity,sanity]" time="242.156" />

    <testcase classname="serial_scripts.vm_regression.test_vm_serial.TestBasicVMVN0" name="test_process_restart_in_policy_between_vns[cb_sanity,sanity]" time="415.451" />

    <testcase classname="serial_scripts.vm_regression.test_vm_serial.TestBasicVMVN0" name="test_underlay_broadcast_traffic_handling[sanity]" time="27.021" />

    <testcase classname="serial_scripts.vrouter.test_drop_stats.TestDropStats" name="test_flow_action_drop_stats[dev_reg,sanity]" time="76.558" />

    <testcase classname="serial_scripts.vrouter.test_fat_flow_aggr_serial.FatFlowAggrIpv6Serial" name="test_fat_flow_aggr_dest_udp_inter_vn_inter_node[dev_reg,sanity]" time="349.703" />

    <testcase classname="serial_scripts.vrouter.test_fat_flow_serial.FatFlowSerialIpv6" name="test_fat_flow_intra_vn_inter_node[cb_sanity,sanity]" time="232.587" />

    <testcase classname="serial_scripts.xmpp.test_xmpp_auth.TestXmpptests" name="test_precedence_xmpp_auth[sanity]" time="2.584">
      <skipped>Xmpp auth should be set before running tests</skipped>

    </testcase>

    <testcase classname="serial_scripts.xmpp.test_xmpp_auth.TestXmpptests" name="test_undo_xmpp_auth[sanity]" time="2.565">
      <skipped>Xmpp auth should be set before running tests</skipped>

    </testcase>

  </testsuite>
</testsuites>
