<?xml version="1.0" encoding="UTF-8" ?>
<testsuites>
  <testsuite errors="0" failures="1" id="0" name="" package="" skipped="7" tests="28" time="3048.152">
    <testcase classname="serial_scripts.analytics.test_analytics_resource.AnalyticsTestSanityWithMin" name="test_run_contrail_flows_cli_cmds[sanity]" time="14.715" />

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

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

    <testcase classname="serial_scripts.analytics.test_analytics_resource.AnalyticsTestSanityWithResource" name="test_verify_session_sampling_teardown[sanity]" time="225.011">
      <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  220.117.216.3
[cirros@169.254.0.5] sudo: ping -s 56 -c 3 -W 1  220.117.216.3
[cirros@169.254.0.5] out: PING 220.117.216.3 (220.117.216.3): 56 data bytes
[cirros@169.254.0.5] out: 64 bytes from 220.117.216.3: seq=0 ttl=63 time=4.256 ms
[cirros@169.254.0.5] out: 64 bytes from 220.117.216.3: seq=1 ttl=63 time=1.833 ms
[cirros@169.254.0.5] out: 64 bytes from 220.117.216.3: seq=2 ttl=63 time=1.992 ms
[cirros@169.254.0.5] out: 
[cirros@169.254.0.5] out: --- 220.117.216.3 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.833/2.693/4.256 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
Mon Apr 20 18:28:35 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=0x7f644a4635e0&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=0x7f644a4635e0&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=0x7f644a4635e0&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=0x7f644a4635e0&gt;
self.verify_session_sampling_teardown = &lt;bound method AnalyticsBaseTest.verify_session_s...ion_sampling_teardown[sanity] id=0x7f644a4635e0&gt;&gt;
start_time = &apos;1776709497987386&apos;
src_vn = &apos;default-domain:ctest-AnalyticsTestSanityWithResource-07501268:ctest-vn1-12749280&apos;
dst_vn = &apos;default-domain:ctest-AnalyticsTestSanityWithResource-07501268:ctest-vn2-53530924&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=0x7f644a4635e0&gt;, start_time=&apos;1776709497987386&apos;, src_vn=&apos;default-domain:ctest-AnalyticsTestSanityWithResource-07501268:ctest-vn1-12749280&apos;, dst_vn=&apos;default-domain:ctest-AnalyticsTestSanityWithResource-07501268:ctest-vn2-53530924&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 = 10
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.579">
      <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="227.173" />

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

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

    <testcase classname="serial_scripts.device_manager.test_dm.TestDM" name="test_basic_dm[sanity]" time="2.589">
      <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.570">
      <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="291.464" />

    <testcase classname="serial_scripts.floatingip.test_mx.TestSerialSanity_MX" name="test_change_of_rt_in_vn[mx_test,sanity,serial]" time="2.571">
      <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.575">
      <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="52.698" />

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

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

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

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

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

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

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

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

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

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

    <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="365.303" />

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

    <testcase classname="serial_scripts.xmpp.test_xmpp_auth.TestXmpptests" name="test_precedence_xmpp_auth[sanity]" time="2.613">
      <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.560">
      <skipped>Xmpp auth should be set before running tests</skipped>

    </testcase>

  </testsuite>
  <testsuite errors="0" failures="2" id="1" name="" package="" skipped="32" tests="81" time="5911.302">
    <testcase classname="scripts.RR.test_rr.TestBasicRR" name="test_basic_RR[sanity]" time="1.503">
      <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.451">
      <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.954" />

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

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

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

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

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

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

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

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

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

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

    <testcase classname="scripts.ecmp.test_ecmp.TestECMPConfigHashFeature" name="test_ecmp_hash_src_ip[sanity]" time="1.398">
      <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.447">
      <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.696">
      <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.553">
      <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.359">
      <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.380">
      <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.417">
      <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.446">
      <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.322">
      <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.436">
      <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.757">
      <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="188.075" />

    <testcase classname="scripts.floatingip.test_mx.TestSanity_MX" name="test_mx_gateway[mx_test,sanity]" time="2.656">
      <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.665">
      <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.576">
      <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.721">
      <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.621">
      <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.660">
      <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="12.369" />

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

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

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

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

    <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="111.806" />

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

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

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

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

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

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

    <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="112.501" />

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

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

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

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

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

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

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

    <testcase classname="scripts.routing_policy.test_routing_policy.TestRP" name="test_rp_secondary_routes[sanity]" time="0.003">
      <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="89.856" />

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

    <testcase classname="scripts.securitygroup.test_regression.SecurityGroupBasicRegressionTests1Ipv6" name="test_sec_group_basic[sanity,suite1]" time="196.527">
      <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
Mon Apr 20 17:34:02 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=0x7f6fbd57e430&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=0x7f6fbd57e430&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=0x7f6fbd57e430&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-78558690\&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-90883147&quot;, &quot;ctest-test_sec_group-78558690&quot;]} response Name [&apos;default-domain&apos;,
 &apos;ctest-SecurityGroupBasicRegressionTests1Ipv6-90883147&apos;,
 &apos;ctest-test_sec_group-78558690&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="217.348" />

    <testcase classname="scripts.securitygroup.test_regression_basic.SecurityGroupBasicRegressionTests1" name="test_sec_group_basic[cb_sanity,ci_contrail_go_kolla_ocata_sanity,sanity,suite1]" time="187.585">
      <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
Mon Apr 20 17:42:00 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=0x7f6fbd53f4f0&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=0x7f6fbd53f4f0&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=0x7f6fbd53f4f0&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-42824781\&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-36290714&quot;, &quot;ctest-test_sec_group-42824781&quot;]} response Name [&apos;default-domain&apos;,
 &apos;ctest-SecurityGroupBasicRegressionTests1-36290714&apos;,
 &apos;ctest-test_sec_group-42824781&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="29.702">
      <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="19.482">
      <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="18.533">
      <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="14.699">
      <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="18.660">
      <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="18.491">
      <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="194.531" />

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

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

    <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="21.032" />

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

    <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="42.038" />

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

    <testcase classname="scripts.vrouter.test_dpdk_bond_lacp.TestLacp" name="test_bond_lacp_config[dev_reg,sanity]" time="2.721">
      <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.655">
      <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.638">
      <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.645">
      <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.673">
      <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.658">
      <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="306.636" />

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

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

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

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

  </testsuite>
</testsuites>
