<?xml version="1.0" encoding="UTF-8" ?>
<testsuites>
  <testsuite errors="0" failures="0" id="0" name="" package="" skipped="3" tests="7" time="123.781">
    <testcase classname="serial_scripts.rbac.test_rbac.TestRbac" name="test_perms2_global_share[ci_sanity,sanity]" time="79.418" />

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

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

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

    <testcase classname="serial_scripts.sriov.test_sriov.TestSriov" name="test_communication_between_two_sriov_vm[ci_sanity]" time="0.003">
      <skipped>Skipped as test is not supported if sriov_cluster=False </skipped>

    </testcase>

    <testcase classname="serial_scripts.sriov.test_sriov.TestSriov" name="test_communication_between_two_sriov_vm_with_large_mtu[ci_sanity]" time="0.002">
      <skipped>Skipped as test is not supported if sriov_cluster=False </skipped>

    </testcase>

    <testcase classname="serial_scripts.sriov.test_sriov.TestSriov" name="test_virtual_function_exhaustion_and_resue[ci_sanity]" time="0.002">
      <skipped>Skipped as test is not supported if sriov_cluster=False </skipped>

    </testcase>

  </testsuite>
  <testsuite errors="0" failures="1" id="1" name="" package="" skipped="1" tests="22" time="2513.906">
    <testcase classname="scripts.analytics.test_analytics.AnalyticsTestSanity" name="test_contrail_status[cb_sanity,ci_sanity,dev_sanity_dpdk,sanity]" time="0.572" />

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

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

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

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

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

    <testcase classname="scripts.heat.test_heat.TestHeat" name="test_heat_stacks_list[cb_sanity,ci_contrail_go_kolla_ocata_sanity,ci_sanity]" time="0.648" />

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

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

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

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

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

    <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="5.365">
      <skipped>Disabling v6 tests for CI</skipped>

    </testcase>

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

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

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

    <testcase classname="scripts.svc_firewall.test_svc_fw.TestSvcRegr" name="test_svc_in_network_datapath[ci_sanity]" time="73.897" />

    <testcase classname="scripts.vdns.test_vdns_basic.TestvDNSBasic0" name="test_vdns_ping_same_vn[ci_sanity,sanity,suite1]" time="2074.123">
      <failure type="testtools.testresult.real._StringException">Traceback (most recent call last):
testtools.testresult.real._StringException: pythonlogging:&apos;&apos;: {{{
2026-05-18 12:41:29,919 Secsh channel 0 open FAILED: Connection timed out: Connect failed
2026-05-18 12:43:45,091 Secsh channel 0 open FAILED: Connection timed out: Connect failed
2026-05-18 12:46:02,303 Secsh channel 0 open FAILED: Connection timed out: Connect failed
2026-05-18 12:48:17,471 Secsh channel 0 open FAILED: Connection timed out: Connect failed
2026-05-18 12:50:34,688 Secsh channel 0 open FAILED: Connection timed out: Connect failed
2026-05-18 12:52:49,855 Secsh channel 0 open FAILED: Connection timed out: Connect failed
2026-05-18 12:55:07,071 Secsh channel 0 open FAILED: Connection timed out: Connect failed
2026-05-18 12:57:22,240 Secsh channel 0 open FAILED: Connection timed out: Connect failed
}}}

stderr: {{{Warning: sudo() received nonzero return code 127 while executing &apos;python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm1-test-03746572&quot;, None, socket.AF_INET6)&apos;&apos;!}}}
stdout: {{{
[cirros@169.254.0.3] run: ifconfig | grep 10.10.10.3
[cirros@169.254.0.3] run: ifconfig | grep 10.10.10.3
[cirros@169.254.0.3] out:           inet addr:10.10.10.3  Bcast:10.10.10.255  Mask:255.255.255.0
[cirros@169.254.0.3] out: 

[cirros@169.254.0.3] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm1-test-03746572&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.3] out: /bin/sh: python: not found
[cirros@169.254.0.3] out: 

[cirros@169.254.0.3] sudo: ping -s 56 -c 3 -W 1  ctest-vm1-test-03746572
[cirros@169.254.0.3] out: PING ctest-vm1-test-03746572 (10.10.10.3): 56 data bytes
[cirros@169.254.0.3] out: 64 bytes from 10.10.10.3: seq=0 ttl=64 time=3.827 ms
[cirros@169.254.0.3] out: 64 bytes from 10.10.10.3: seq=1 ttl=64 time=0.366 ms
[cirros@169.254.0.3] out: 64 bytes from 10.10.10.3: seq=2 ttl=64 time=0.462 ms
[cirros@169.254.0.3] out: 
[cirros@169.254.0.3] out: --- ctest-vm1-test-03746572 ping statistics ---
[cirros@169.254.0.3] out: 3 packets transmitted, 3 packets received, 0% packet loss
[cirros@169.254.0.3] out: round-trip min/avg/max = 0.366/1.551/3.827 ms
[cirros@169.254.0.3] out: 

[cirros@169.254.0.4] run: ifconfig | grep 10.10.10.4
[cirros@169.254.0.4] run: ifconfig | grep 10.10.10.4
[cirros@169.254.0.4] out:           inet addr:10.10.10.4  Bcast:10.10.10.255  Mask:255.255.255.0
[cirros@169.254.0.4] out: 

[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: ping6 -s 56 -c 3 -W 1  ctest-vm2-test-32205386
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: ping6 -s 56 -c 3 -W 1  ctest-vm2-test-32205386
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: ping6 -s 56 -c 3 -W 1  ctest-vm2-test-32205386
[cirros@169.254.0.4] sudo: python -c &apos;import socket;socket.getaddrinfo(&quot;ctest-vm2-test-32205386&quot;, None, socket.AF_INET6)&apos;
[cirros@169.254.0.4] sudo: ping6 -s 56 -c 3 -W 1  ctest-vm2-test-32205386
}}}

Traceback (most recent call last):
  File &quot;/contrail-test/tcutils/util.py&quot;, line 1041, in wrapper
    return f(self, *func_args, **func_kwargs)
  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 May 18 12:57:27 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.vdns.test_vdns_basic.TestvDNSBasic0.tes...me_vn[ci_sanity,sanity,suite1] id=0x7f9cf1ef4700&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 TestvDNSBasic0.test_vdns_ping_same_vn&gt;
self = &lt;scripts.vdns.test_vdns_basic.TestvDNSBasic0.tes...me_vn[ci_sanity,sanity,suite1] id=0x7f9cf1ef4700&gt;
args = ()
kwargs = {}

 /contrail-test/scripts/vdns/test_vdns_basic.py in test_vdns_ping_same_vn(self=&lt;scripts.vdns.test_vdns_basic.TestvDNSBasic0.tes...me_vn[ci_sanity,sanity,suite1] id=0x7f9cf1ef4700&gt;)
  104             msg = &quot;Ping by using name %s is failed. Dns server should resolve VM name to IP&quot; % (
  105                 vm_name)
  106             self.assertTrue(vm_fixture[vm_name]
  107                             .ping_with_certainty(ip=vm_name), msg)
  108             # Frame the Expected DNS data for VM, one for &apos;A&apos; record and
self = &lt;scripts.vdns.test_vdns_basic.TestvDNSBasic0.tes...me_vn[ci_sanity,sanity,suite1] id=0x7f9cf1ef4700&gt;
self.assertTrue = &lt;bound method TestCase.assertTrue of &lt;scripts.vd...e_vn[ci_sanity,sanity,suite1] id=0x7f9cf1ef4700&gt;&gt;
vm_fixture = {&apos;ctest-vm1-test-03746572&apos;: &lt;VMFixture: ctest-vm1-test-03746572&gt;, &apos;ctest-vm2-test-32205386&apos;: &lt;VMFixture: ctest-vm2-test-32205386&gt;}
vm_name = &apos;ctest-vm2-test-32205386&apos;

.ping_with_certainty undefined
global ip = &lt;module &apos;netaddr.ip&apos; from &apos;/usr/local/lib/python3.9/site-packages/netaddr/ip/__init__.py&apos;&gt;
msg = &apos;Ping by using name ctest-vm2-test-32205386 is failed. Dns server should resolve VM name to IP&apos;

 /usr/local/lib/python3.9/site-packages/unittest2/case.py in assertTrue(self=&lt;scripts.vdns.test_vdns_basic.TestvDNSBasic0.tes...me_vn[ci_sanity,sanity,suite1] id=0x7f9cf1ef4700&gt;, expr=False, msg=&apos;False is not true : Ping by using name ctest-vm2...s failed. Dns server should resolve VM name to IP&apos;)
  700         if not expr:
  701             msg = self._formatMessage(msg, &quot;%s is not true&quot; % safe_repr(expr))
  702             raise self.failureException(msg)
  703 
  704     def _formatMessage(self, msg, standardMsg):
self = &lt;scripts.vdns.test_vdns_basic.TestvDNSBasic0.tes...me_vn[ci_sanity,sanity,suite1] id=0x7f9cf1ef4700&gt;
self.failureException = &lt;class &apos;AssertionError&apos;&gt;
msg = &apos;False is not true : Ping by using name ctest-vm2...s failed. Dns server should resolve VM name to IP&apos;
AssertionError: False is not true : Ping by using name ctest-vm2-test-32205386 is failed. Dns server should resolve VM name to IP
    __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;False is not true : Ping by using name ctest-vm2...s failed. Dns server should resolve VM name to IP&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/scripts/vdns/test_vdns_basic.py&quot;, line 106, in test_vdns_ping_same_vn
    self.assertTrue(vm_fixture[vm_name]
  File &quot;/usr/local/lib/python3.9/site-packages/unittest2/case.py&quot;, line 702, in assertTrue
    raise self.failureException(msg)
AssertionError: False is not true : Ping by using name ctest-vm2-test-32205386 is failed. Dns server should resolve VM name to IP

</failure>

    </testcase>

    <testcase classname="scripts.vm_regression.test_vm.TestBasicVMVNx" name="test_vm_file_trf_scp_tests[ci_contrail_go_kolla_ocata_sanity,ci_sanity,quick_sanity,vrouter_gw]" time="22.426" />

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

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

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

  </testsuite>
</testsuites>
