<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.4.2 (Python 3.11.10 on linux)" generated="2026-04-10T02:02:27.769489" rpa="false" schemaversion="5">
<suite id="s1" name="openflowplugin-perf-stats-collection.txt" source="/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/test/csit/suites/openflowplugin/Performance_Flow_Config/070_Stats_Collection_100k_WithMininetRestart.robot">
<kw name="Create Http Session And Upload Files" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:02:28.067827" level="INFO">Creating Session using : alias=session, url=http://10.30.171.152:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x754da554d810&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<arg>headers=${HEADERS_XML}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-04-10T02:02:28.067431" elapsed="0.000587"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>${TOOLS_SYSTEM_IP}</arg>
<arg>prompt=${TOOLS_SYSTEM_PROMPT}</arg>
<arg>timeout=600</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-04-10T02:02:28.068185" elapsed="0.000372"/>
</kw>
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-04-10T02:02:28.068987" level="INFO">Logging into '10.30.171.148:22' as 'jenkins'.</msg>
<msg time="2026-04-10T02:02:28.773979" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Fri Apr 10 02:02:28 UTC 2026

  System load:  0.07               Processes:             112
  Usage of /:   19.4% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.148
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[?2004h[jenkins@releng-64409-686-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${TOOLS_SYSTEM_USER}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>any</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-04-10T02:02:28.068717" elapsed="0.705399"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-04-10T02:02:28.781693" level="INFO">[chan 1] Opened sftp connection (server version 3)</msg>
<msg time="2026-04-10T02:02:28.804222" level="INFO">'/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/test/csit/suites/openflowplugin/Performance_Flow_Config/../../../../tools/odl-mdsal-clustering-tests/clustering-performance-test/ovs-scripts/README' -&gt; '/home/jenkins/.//README'</msg>
<msg time="2026-04-10T02:02:28.804311" level="INFO">'/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/test/csit/suites/openflowplugin/Performance_Flow_Config/../../../../tools/odl-mdsal-clustering-tests/clustering-performance-test/ovs-scripts/OVS-dump-tables.sh.13' -&gt; '/home/jenkins/.//OVS-dump-tables.sh.13'</msg>
<msg time="2026-04-10T02:02:28.804356" level="INFO">'/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/test/csit/suites/openflowplugin/Performance_Flow_Config/../../../../tools/odl-mdsal-clustering-tests/clustering-performance-test/ovs-scripts/get-total-found.sh' -&gt; '/home/jenkins/.//get-total-found.sh'</msg>
<msg time="2026-04-10T02:02:28.804396" level="INFO">'/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/test/csit/suites/openflowplugin/Performance_Flow_Config/../../../../tools/odl-mdsal-clustering-tests/clustering-performance-test/ovs-scripts/OVS-dump-flows.sh.13' -&gt; '/home/jenkins/.//OVS-dump-flows.sh.13'</msg>
<msg time="2026-04-10T02:02:28.804438" level="INFO">'/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/test/csit/suites/openflowplugin/Performance_Flow_Config/../../../../tools/odl-mdsal-clustering-tests/clustering-performance-test/ovs-scripts/get-total-reported.sh' -&gt; '/home/jenkins/.//get-total-reported.sh'</msg>
<arg>/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/test/csit/suites/openflowplugin/Performance_Flow_Config/../../../../tools/odl-mdsal-clustering-tests/clustering-performance-test/ovs-scripts/*</arg>
<arg>./</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-04-10T02:02:28.774372" elapsed="0.030135"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-04-10T02:02:28.804711" elapsed="0.000414"/>
</kw>
<status status="PASS" start="2026-04-10T02:02:28.066471" elapsed="0.738759"/>
</kw>
<test id="s1-t1" name="Connect Mininet" line="42">
<kw name="Connect Switches">
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:02:28.807102" level="INFO">Starting mininet with 32 switches</msg>
<arg>Starting mininet with ${swnr} switches</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:02:28.806611" elapsed="0.000559"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>${TOOLS_SYSTEM_IP}</arg>
<arg>prompt=${TOOLS_SYSTEM_PROMPT}</arg>
<arg>timeout=600</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-04-10T02:02:28.807379" elapsed="0.000472"/>
</kw>
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-04-10T02:02:28.808428" level="INFO">Logging into '10.30.171.148:22' as 'jenkins'.</msg>
<msg time="2026-04-10T02:02:29.168552" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Fri Apr 10 02:02:28 UTC 2026

  System load:  0.07               Processes:             112
  Usage of /:   19.4% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.148
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Fri Apr 10 02:02:28 2026 from 10.30.170.54
[?2004h[jenkins@releng-64409-686-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${TOOLS_SYSTEM_USER}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>any</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-04-10T02:02:28.808054" elapsed="0.360655"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-04-10T02:02:29.169098" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-04-10T02:02:29.241750" level="INFO">Command exited with return code 0.</msg>
<arg>sudo ovs-vsctl set-manager ptcp:6644</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-04-10T02:02:29.168946" elapsed="0.072941"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-04-10T02:02:29.242462" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-04-10T02:02:30.503532" level="INFO">Command exited with return code 0.</msg>
<arg>sudo mn -c</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-04-10T02:02:29.242179" elapsed="1.261718"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:02:30.542501" level="INFO">sudo mn --controller=remote,ip=10.30.171.152 --topo linear,32 --switch ovsk,protocols=OpenFlow13</msg>
<arg>${start_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:02:30.504331" elapsed="0.038232"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:02:32.090884" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.171.152:6653
*** Adding hosts:
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 
*** Adding switches:
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 
*** Adding links:
(h1, s1) (h2, s2) (h3, s3) (h4, s4) (h5, s5) (h6, s6) (h7, s7) (h8, s8) (h9, s9) (h10, s10) (h11, s11) (h12, s12) (h13, s13) (h14, s14) (h15, s15) (h16, s16) (h17, s17) (h18, s18) (h19, s19) (h20, s20) (h21, s21) (h22, s22) (h23, s23) (h24, s24) (h25, s25) (h26, s26) (h27, s27) (h28, s28) (h29, s29) (h30, s30) (h31, s31) (h32, s32) (s2, s1) (s3, s2) (s4, s3) (s5, s4) (s6, s5) (s7, s6) (s8, s7) (s9, s8) (s10, s9) (s11, s10) (s12, s11) (s13, s12) (s14, s13) (s15, s14) (s16, s15) (s17, s16) (s18, s17) (s19, s18) (s20, s19) (s21, s20) (s22, s21) (s23, s22) (s24, s23) (s25, s24) (s26, s25) (s27, s26) (s28, s27) (s29, s28) (s30, s29) (s31, s30) (s32, s31) 
*** Configuring hosts
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 
*** Starting controller
c0 
*** Starting 32 switches
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 ...
*** Starting CLI:
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:02:30.542699" elapsed="1.548356"/>
</kw>
<kw name="Comment" owner="BuiltIn">
<arg>Below line disables switch echos</arg>
<doc>Displays the given messages in the log file as keyword arguments.</doc>
<status status="PASS" start="2026-04-10T02:02:32.091348" elapsed="0.000380"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:02:32.094557" level="INFO">sh x=`sudo ovs-vsctl --columns=_uuid list Controller | awk '{print $NF}'`; for i in $x; do sudo ovs-vsctl set Controller $i inactivity_probe=0; done</msg>
<arg>sh x=`sudo ovs-vsctl --columns=_uuid list Controller | awk '{print $NF}'`; for i in $x; do sudo ovs-vsctl set Controller $i inactivity_probe=0; done</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:02:32.091858" elapsed="0.002773"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:02:33.670976" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:02:32.094757" elapsed="1.576385"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Are Switches Connected Topo">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:02:34.725451" level="INFO">GET Request : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-04-10T02:02:34.730400" level="INFO">GET Response : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node0rik6tpzva1s61lsikgfil3dw30.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Thu, 09-Apr-2026 02:02:34 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:6&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:12&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:8&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-04-10T02:02:34.731022" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>headers=${ACCEPT_XML}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-04-10T02:02:33.673139" elapsed="1.057949"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:02:34.734264" level="INFO">&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:6&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:12&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:8&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:11&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:14&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:3&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:13&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:16&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:4&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:5&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:15&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:18&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:17&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:1&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:19&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:20&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:23&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:25&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:24&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:27&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:26&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:29&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:28&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;/topology&gt;</msg>
<arg>${resp.content}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:02:34.731551" elapsed="0.003465"/>
</kw>
<kw name="Get Element Count" owner="XML">
<msg time="2026-04-10T02:02:34.739600" level="INFO">32 elements matched 'node'.</msg>
<msg time="2026-04-10T02:02:34.739734" level="INFO">${count} = 32</msg>
<var>${count}</var>
<arg>${resp.content}</arg>
<arg>xpath=node</arg>
<doc>Returns and logs how many elements the given ``xpath`` matches.</doc>
<status status="PASS" start="2026-04-10T02:02:34.735209" elapsed="0.004561"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:02:34.740382" level="INFO">Argument types are:
&lt;class 'int'&gt;
&lt;class 'str'&gt;</msg>
<arg>${count}</arg>
<arg>${swnr}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:02:34.739956" elapsed="0.000515"/>
</kw>
<doc>Checks wheather switches are connected to controller</doc>
<status status="PASS" start="2026-04-10T02:02:33.672721" elapsed="1.067847"/>
</kw>
<arg>20s</arg>
<arg>1s</arg>
<arg>Are Switches Connected Topo</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-04-10T02:02:33.671489" elapsed="1.069143"/>
</kw>
<doc>Starts mininet with requested number of switches (32)</doc>
<status status="PASS" start="2026-04-10T02:02:28.806149" elapsed="5.934564"/>
</kw>
<status status="PASS" start="2026-04-10T02:02:28.805360" elapsed="5.935521"/>
</test>
<test id="s1-t2" name="Configure Flows" line="45">
<kw name="Generate New Flow Details" owner="ScaleClient">
<msg time="2026-04-10T02:02:34.952858" level="INFO">${flows} = [(6, 0, 0), (7, 0, 1), (27, 0, 2), (2, 0, 3), (16, 0, 4), (24, 0, 5), (18, 0, 6), (26, 0, 7), (28, 0, 8), (15, 0, 9), (9, 0, 10), (30, 0, 11), (16, 0, 12), (8, 0, 13), (14, 0, 14), (30, 0, 15), (27, 0...</msg>
<msg time="2026-04-10T02:02:34.953061" level="INFO">${notes} = {6: {'total': 3211, 0: 3211}, 7: {'total': 3132, 0: 3132}, 27: {'total': 3087, 0: 3087}, 2: {'total': 3134, 0: 3134}, 16: {'total': 3076, 0: 3076}, 24: {'total': 3124, 0: 3124}, 18: {'total': 3120, 0:...</msg>
<var>${flows}</var>
<var>${notes}</var>
<arg>flows=${flnr}</arg>
<arg>switches=${swnr}</arg>
<arg>swspread=${swspread}</arg>
<arg>tabspread=${tabspread}</arg>
<doc>Generate a list of tupples (switch_id, table_id, flow_id) which are generated
according to the spread rules between swithces and tables.
It also returns a dictionary with statsistics.</doc>
<status status="PASS" start="2026-04-10T02:02:34.741935" elapsed="0.211160"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:02:34.953785" level="INFO">{6: {'total': 3211, 0: 3211}, 7: {'total': 3132, 0: 3132}, 27: {'total': 3087, 0: 3087}, 2: {'total': 3134, 0: 3134}, 16: {'total': 3076, 0: 3076}, 24: {'total': 3124, 0: 3124}, 18: {'total': 3120, 0: 3120}, 26: {'total': 3119, 0: 3119}, 28: {'total': 3115, 0: 3115}, 15: {'total': 3119, 0: 3119}, 9: {'total': 3108, 0: 3108}, 30: {'total': 3100, 0: 3100}, 8: {'total': 3031, 0: 3031}, 14: {'total': 3122, 0: 3122}, 13: {'total': 3107, 0: 3107}, 19: {'total': 3124, 0: 3124}, 29: {'total': 3048, 0: 3048}, 10: {'total': 3108, 0: 3108}, 22: {'total': 3204, 0: 3204}, 31: {'total': 3126, 0: 3126}, 1: {'total': 3113, 0: 3113}, 20: {'total': 3116, 0: 3116}, 11: {'total': 3138, 0: 3138}, 32: {'total': 3182, 0: 3182}, 23: {'total': 3186, 0: 3186}, 25: {'total': 3097, 0: 3097}, 5: {'total': 3068, 0: 3068}, 17: {'total': 3111, 0: 3111}, 21: {'total': 3189, 0: 3189}, 4: {'total': 3186, 0: 3186}, 12: {'total': 3204, 0: 3204}, 3: {'total': 3095, 0: 3095}}</msg>
<arg>${notes}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:02:34.953364" elapsed="0.000481"/>
</kw>
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-04-10T02:02:34.954339" level="INFO">${starttime} = 1775786554</msg>
<var>${starttime}</var>
<arg>epoch</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-04-10T02:02:34.953979" elapsed="0.000388"/>
</kw>
<kw name="Configure Flows Bulk" owner="ScaleClient">
<msg time="2026-04-10T02:02:49.252845" level="INFO">${res} = {201: 515}</msg>
<var>${res}</var>
<arg>flow_details=${flows}</arg>
<arg>controllers=@{cntls}</arg>
<arg>nrthreads=${nrthreads}</arg>
<arg>fpr=${fpr}</arg>
<doc>Configure flows based on given flow details using a POST http request..</doc>
<status status="PASS" start="2026-04-10T02:02:34.954495" elapsed="14.298422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.253696" level="INFO">{201: 515}</msg>
<arg>${res}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:02:49.253215" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.392296" level="INFO">${flows} = [(6, 0, 0), (7, 0, 1), (27, 0, 2), (2, 0, 3), (16, 0, 4), (24, 0, 5), (18, 0, 6), (26, 0, 7), (28, 0, 8), (15, 0, 9), (9, 0, 10), (30, 0, 11), (16, 0, 12), (8, 0, 13), (14, 0, 14), (30, 0, 15), (27, 0...</msg>
<arg>${flows}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:02:49.253894" elapsed="0.138555"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.394481" level="INFO">${http201ok} = [201]</msg>
<var>${http201ok}</var>
<arg>${201}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-04-10T02:02:49.392718" elapsed="0.001791"/>
</kw>
<kw name="Validate Responses" owner="ScaleClient">
<msg time="2026-04-10T02:02:49.394850" level="INFO">${validation} = True</msg>
<var>${validation}</var>
<arg>${res}</arg>
<arg>${http201ok}</arg>
<doc>Compares given response summary with expected results.</doc>
<status status="PASS" start="2026-04-10T02:02:49.394641" elapsed="0.000235"/>
</kw>
<kw name="Should Be True" owner="BuiltIn">
<arg>${validation}</arg>
<doc>Fails if the given condition is not true.</doc>
<status status="PASS" start="2026-04-10T02:02:49.395004" elapsed="0.000311"/>
</kw>
<kw name="Save Setup Time" type="TEARDOWN">
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.396439" level="INFO">${endtime} = 1775786569</msg>
<var>${endtime}</var>
<arg>epoch</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-04-10T02:02:49.396109" elapsed="0.000356"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.396850" level="INFO">Stats collection finished at time 1775786569</msg>
<arg>Stats collection finished at time ${endtime}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:02:49.396588" elapsed="0.000307"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.397446" level="INFO">${res} = 15</msg>
<var>${res}</var>
<arg>int(${endtime})-int(${starttime})</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-04-10T02:02:49.397014" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.397985" level="INFO">${inittime} = 0</msg>
<var>${inittime}</var>
<arg>"${note}"=="inittime"</arg>
<arg>${res}</arg>
<arg>${inittime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:02:49.397608" elapsed="0.000403"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.398525" level="INFO">${restarttime} = 0</msg>
<var>${restarttime}</var>
<arg>"${note}"=="restarttime"</arg>
<arg>${res}</arg>
<arg>${restarttime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:02:49.398145" elapsed="0.000406"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.399172" level="INFO">${setuptime} = 15</msg>
<var>${setuptime}</var>
<arg>"${note}"=="setuptime"</arg>
<arg>${res}</arg>
<arg>${setuptime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:02:49.398682" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.399809" level="INFO">${inittime} = 0</msg>
<arg>${inittime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:02:49.399471" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.400307" level="INFO">${restarttime} = 0</msg>
<arg>${restarttime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:02:49.399978" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.400785" level="INFO">${setuptime} = 15</msg>
<arg>${setuptime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:02:49.400475" elapsed="0.000353"/>
</kw>
<arg>setuptime</arg>
<arg>${starttime}</arg>
<doc>Count the difference and stores it</doc>
<status status="PASS" start="2026-04-10T02:02:49.395674" elapsed="0.005219"/>
</kw>
<doc>Configuration of 100000 flows into config datastore</doc>
<status status="PASS" start="2026-04-10T02:02:34.741386" elapsed="14.659553"/>
</test>
<test id="s1-t3" name="Wait Stats Collected" line="66">
<kw name="Measure Setup Time">
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.402585" level="INFO">${starttime} = 1775786569</msg>
<var>${starttime}</var>
<arg>epoch</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-04-10T02:02:49.402223" elapsed="0.000390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:02:49.402990" level="INFO">Starting stats collection at time 1775786569</msg>
<arg>Starting stats collection at time ${starttime}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:02:49.402736" elapsed="0.000298"/>
</kw>
<kw name="Inventory Change Reached">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:02:51.969154" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 71663, 68544)</msg>
<msg time="2026-04-10T02:02:51.969406" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:02:51.969455" level="INFO">${repf} = 71663</msg>
<msg time="2026-04-10T02:02:51.969498" level="INFO">${foundf} = 68544</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:02:49.404457" elapsed="2.565067"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:02:51.970171" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:02:51.969768" elapsed="0.000478"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:02:51.970682" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:02:51.970820" level="FAIL">100000.0 != 68544.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:02:51.970392" elapsed="0.000584">100000.0 != 68544.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:02:49.404104" elapsed="2.567016">100000.0 != 68544.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:02:55.418375" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 71663, 68544)</msg>
<msg time="2026-04-10T02:02:55.418605" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:02:55.418655" level="INFO">${repf} = 71663</msg>
<msg time="2026-04-10T02:02:55.418697" level="INFO">${foundf} = 68544</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:02:52.973224" elapsed="2.445498"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:02:55.419388" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:02:55.418946" elapsed="0.000519"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:02:55.419885" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:02:55.420011" level="FAIL">100000.0 != 68544.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:02:55.419597" elapsed="0.000498">100000.0 != 68544.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:02:52.971965" elapsed="2.448264">100000.0 != 68544.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:02:59.545012" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 96799, 93680)</msg>
<msg time="2026-04-10T02:02:59.545292" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:02:59.545341" level="INFO">${repf} = 96799</msg>
<msg time="2026-04-10T02:02:59.545382" level="INFO">${foundf} = 93680</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:02:56.421918" elapsed="3.123489"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:02:59.546037" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:02:59.545631" elapsed="0.000474"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:02:59.546579" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:02:59.546702" level="FAIL">100000.0 != 93680.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:02:59.546237" elapsed="0.000554">100000.0 != 93680.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:02:56.420923" elapsed="3.125997">100000.0 != 93680.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:03.801829" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:03.802073" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:03.802120" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:03.802162" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:00.548620" elapsed="3.253567"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.802939" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:03.802448" elapsed="0.000563"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.803456" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:03.803139" elapsed="0.000379"/>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:00.547661" elapsed="3.256061"/>
</kw>
<arg>${ichange}</arg>
<arg>${iperiod}</arg>
<arg>Check Flows Inventory</arg>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-04-10T02:02:49.403522" elapsed="14.400394"/>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>This keywordwaits till inventory reaches required state</doc>
<status status="PASS" start="2026-04-10T02:02:49.403163" elapsed="14.400819"/>
</kw>
<kw name="Save Setup Time" type="TEARDOWN">
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.805006" level="INFO">${endtime} = 1775786583</msg>
<var>${endtime}</var>
<arg>epoch</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-04-10T02:03:03.804699" elapsed="0.000336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.805434" level="INFO">Stats collection finished at time 1775786583</msg>
<arg>Stats collection finished at time ${endtime}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:03:03.805156" elapsed="0.000326"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.806012" level="INFO">${res} = 14</msg>
<var>${res}</var>
<arg>int(${endtime})-int(${starttime})</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-04-10T02:03:03.805601" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.806593" level="INFO">${inittime} = 14</msg>
<var>${inittime}</var>
<arg>"${note}"=="inittime"</arg>
<arg>${res}</arg>
<arg>${inittime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:03:03.806178" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.807121" level="INFO">${restarttime} = 0</msg>
<var>${restarttime}</var>
<arg>"${note}"=="restarttime"</arg>
<arg>${res}</arg>
<arg>${restarttime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:03:03.806756" elapsed="0.000392"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.807685" level="INFO">${setuptime} = 15</msg>
<var>${setuptime}</var>
<arg>"${note}"=="setuptime"</arg>
<arg>${res}</arg>
<arg>${setuptime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:03:03.807311" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.808190" level="INFO">${inittime} = 14</msg>
<arg>${inittime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:03:03.807847" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.808736" level="INFO">${restarttime} = 0</msg>
<arg>${restarttime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:03:03.808377" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:03:03.809234" level="INFO">${setuptime} = 15</msg>
<arg>${setuptime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:03:03.808905" elapsed="0.000386"/>
</kw>
<arg>${note}</arg>
<arg>${starttime}</arg>
<doc>Count the difference and stores it</doc>
<status status="PASS" start="2026-04-10T02:03:03.804249" elapsed="0.005102"/>
</kw>
<arg>${swnr}</arg>
<arg>${flnr}</arg>
<arg>inittime</arg>
<doc>This keyword is dedicated to save measured time for plotting</doc>
<status status="PASS" start="2026-04-10T02:02:49.401858" elapsed="14.407593"/>
</kw>
<kw name="Log Switch Details" type="TEARDOWN">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:03:03.814306" level="INFO">sh ./get-total-found.sh</msg>
<arg>${getf_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:03:03.809958" elapsed="0.004407"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:03:04.978567" level="INFO">Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 flows
Switch s10: 3108 flows
Switch s11: 3138 flows
Switch s12: 3204 flows
Switch s13: 3107 flows
Switch s14: 3122 flows
Switch s15: 3119 flows
Switch s16: 3076 flows
Switch s17: 3111 flows
Switch s18: 3120 flows
Switch s19: 3124 flows
Switch s20: 3116 flows
Switch s21: 3189 flows
Switch s22: 3204 flows
Switch s23: 3186 flows
Switch s24: 3124 flows
Switch s25: 3097 flows
Switch s26: 3119 flows
Switch s27: 3087 flows
Switch s28: 3115 flows
Switch s29: 3048 flows
Switch s30: 3100 flows
Switch s31: 3126 flows
Switch s32: 3182 flows

Total: 100000

mininet&gt;</msg>
<msg time="2026-04-10T02:03:04.978788" level="INFO">${log} = Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 ...</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:03:03.814489" elapsed="1.164329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:03:04.979440" level="INFO">Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 flows
Switch s10: 3108 flows
Switch s11: 3138 flows
Switch s12: 3204 flows
Switch s13: 3107 flows
Switch s14: 3122 flows
Switch s15: 3119 flows
Switch s16: 3076 flows
Switch s17: 3111 flows
Switch s18: 3120 flows
Switch s19: 3124 flows
Switch s20: 3116 flows
Switch s21: 3189 flows
Switch s22: 3204 flows
Switch s23: 3186 flows
Switch s24: 3124 flows
Switch s25: 3097 flows
Switch s26: 3119 flows
Switch s27: 3087 flows
Switch s28: 3115 flows
Switch s29: 3048 flows
Switch s30: 3100 flows
Switch s31: 3126 flows
Switch s32: 3182 flows

Total: 100000

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:03:04.979036" elapsed="0.000462"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:03:04.981140" level="INFO">sh ./get-total-reported.sh</msg>
<arg>${getr_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:03:04.979622" elapsed="0.001574"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:03:05.623938" level="INFO">Switch s1:
  Table  active=3113, lookup=20, matched=0
Switch s2:
  Table  active=3134, lookup=32, matched=0
Switch s3:
  Table  active=3095, lookup=32, matched=0
Switch s4:
  Table  active=3186, lookup=31, matched=0
Switch s5:
  Table  active=3068, lookup=33, matched=0
Switch s6:
  Table  active=3211, lookup=34, matched=0
Switch s7:
  Table  active=3132, lookup=34, matched=0
Switch s8:
  Table  active=3031, lookup=33, matched=0
Switch s9:
  Table  active=3108, lookup=33, matched=0
Switch s10:
  Table  active=3108, lookup=34, matched=0
Switch s11:
  Table  active=3138, lookup=33, matched=0
Switch s12:
  Table  active=3204, lookup=34, matched=0
Switch s13:
  Table  active=3107, lookup=32, matched=0
Switch s14:
  Table  active=3122, lookup=33, matched=0
Switch s15:
  Table  active=3119, lookup=35, matched=0
Switch s16:
  Table  active=3076, lookup=35, matched=0
Switch s17:
  Table  active=3111, lookup=33, matched=0
Switch s18:
  Table  active=3120, lookup=34, matched=0
Switch s19:
  Table  active=3124, lookup=36, matched=0
Switch s20:
  Table  active=3116, lookup=34, matched=0
Switch s21:
  Table  active=3189, lookup=32, matched=0
Switch s22:
  Table  active=3204, lookup=33, matched=0
Switch s23:
  Table  active=3186, lookup=34, matched=0
Switch s24:
  Table  active=3124, lookup=35, matched=0
Switch s25:
  Table  active=3097, lookup=38, matched=0
Switch s26:
  Table  active=3119, lookup=35, matched=0
Switch s27:
  Table  active=3087, lookup=35, matched=0
Switch s28:
  Table  active=3115, lookup=34, matched=0
Switch s29:
  Table  active=3048, lookup=36, matched=0
Switch s30:
  Table  active=3100, lookup=35, matched=0
Switch s31:
  Table  active=3126, lookup=35, matched=0
Switch s32:
  Table  active=3182, lookup=20, matched=0

Total: 0

mininet&gt;</msg>
<msg time="2026-04-10T02:03:05.624313" level="INFO">${log} = Switch s1:
  Table  active=3113, lookup=20, matched=0
Switch s2:
  Table  active=3134, lookup=32, matched=0
Switch s3:
  Table  active=3095, lookup=32, matched=0
Switch s4:
  Table  active=3186...</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:03:04.981341" elapsed="0.643006"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:03:05.624911" level="INFO">Switch s1:
  Table  active=3113, lookup=20, matched=0
Switch s2:
  Table  active=3134, lookup=32, matched=0
Switch s3:
  Table  active=3095, lookup=32, matched=0
Switch s4:
  Table  active=3186, lookup=31, matched=0
Switch s5:
  Table  active=3068, lookup=33, matched=0
Switch s6:
  Table  active=3211, lookup=34, matched=0
Switch s7:
  Table  active=3132, lookup=34, matched=0
Switch s8:
  Table  active=3031, lookup=33, matched=0
Switch s9:
  Table  active=3108, lookup=33, matched=0
Switch s10:
  Table  active=3108, lookup=34, matched=0
Switch s11:
  Table  active=3138, lookup=33, matched=0
Switch s12:
  Table  active=3204, lookup=34, matched=0
Switch s13:
  Table  active=3107, lookup=32, matched=0
Switch s14:
  Table  active=3122, lookup=33, matched=0
Switch s15:
  Table  active=3119, lookup=35, matched=0
Switch s16:
  Table  active=3076, lookup=35, matched=0
Switch s17:
  Table  active=3111, lookup=33, matched=0
Switch s18:
  Table  active=3120, lookup=34, matched=0
Switch s19:
  Table  active=3124, lookup=36, matched=0
Switch s20:
  Table  active=3116, lookup=34, matched=0
Switch s21:
  Table  active=3189, lookup=32, matched=0
Switch s22:
  Table  active=3204, lookup=33, matched=0
Switch s23:
  Table  active=3186, lookup=34, matched=0
Switch s24:
  Table  active=3124, lookup=35, matched=0
Switch s25:
  Table  active=3097, lookup=38, matched=0
Switch s26:
  Table  active=3119, lookup=35, matched=0
Switch s27:
  Table  active=3087, lookup=35, matched=0
Switch s28:
  Table  active=3115, lookup=34, matched=0
Switch s29:
  Table  active=3048, lookup=36, matched=0
Switch s30:
  Table  active=3100, lookup=35, matched=0
Switch s31:
  Table  active=3126, lookup=35, matched=0
Switch s32:
  Table  active=3182, lookup=20, matched=0

Total: 0

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:03:05.624564" elapsed="0.000412"/>
</kw>
<status status="PASS" start="2026-04-10T02:03:03.809695" elapsed="1.815347"/>
</kw>
<doc>Waits till 100000 flows are initially collected</doc>
<status status="PASS" start="2026-04-10T02:02:49.401421" elapsed="16.223665"/>
</test>
<test id="s1-t4" name="Stable State Monitoring" line="71">
<kw name="Monitor Stable State">
<kw name="Verify_Keyword_Does_Not_Fail_Within_Timeout" owner="WaitForFailure">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Confirm_Keyword_Fails_Within_Timeout" owner="WaitForFailure">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:09.220335" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:09.220704" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:09.220873" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:09.221036" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:05.630867" elapsed="3.590281"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:09.222203" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:09.221591" elapsed="0.000782"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:09.223209" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:09.222698" elapsed="0.000669"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:05.630332" elapsed="3.593156"/>
</kw>
<msg time="2026-04-10T02:03:09.223672" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:09.223718" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:05.629878" elapsed="3.594002"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:09.224166" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:09.224001" elapsed="0.000225"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:09.223963" elapsed="0.000289"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:09.224761" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:09.224392" elapsed="0.000401"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:09.225326" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:09.224908" elapsed="0.000512">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:05.629404" elapsed="3.596142">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:13.503908" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:13.504300" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:13.504470" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:13.504630" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:10.229781" elapsed="3.274958"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:13.505772" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:13.505157" elapsed="0.000765"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:13.506751" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:13.506241" elapsed="0.000650"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:10.228591" elapsed="3.278506"/>
</kw>
<msg time="2026-04-10T02:03:13.507270" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:13.507334" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:10.227537" elapsed="3.279933"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:13.507722" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:13.507572" elapsed="0.000202"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:13.507543" elapsed="0.000256"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:13.508333" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:13.507915" elapsed="0.000445"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:13.508861" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:13.508477" elapsed="0.000467">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:10.226586" elapsed="3.282473">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:18.333017" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:18.333388" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:18.333552" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:18.333715" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:14.513255" elapsed="3.820570"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:18.334857" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:18.334235" elapsed="0.000773"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:18.335839" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:18.335349" elapsed="0.000631"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:14.512103" elapsed="3.823991"/>
</kw>
<msg time="2026-04-10T02:03:18.336262" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:18.336325" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:14.511002" elapsed="3.825479"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:18.336752" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:18.336584" elapsed="0.000221"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:18.336553" elapsed="0.000275"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:18.337342" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:18.336944" elapsed="0.000425"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:18.337858" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:18.337483" elapsed="0.000461">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:14.510086" elapsed="3.827979">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:22.631050" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:22.631418" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:22.631587" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:22.631748" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:19.341853" elapsed="3.290005"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:22.632885" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:22.632264" elapsed="0.000771"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:22.633907" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:22.633372" elapsed="0.000677"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:19.341067" elapsed="3.293099"/>
</kw>
<msg time="2026-04-10T02:03:22.634380" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:22.634426" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:19.340130" elapsed="3.294450"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:22.634838" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:22.634687" elapsed="0.000205"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:22.634656" elapsed="0.000262"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:22.635418" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:22.635036" elapsed="0.000408"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:22.635939" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:22.635559" elapsed="0.000582">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:19.339146" elapsed="3.297117">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:26.876247" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:26.876616" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:26.876778" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:26.876937" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:23.640456" elapsed="3.236590"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:26.878086" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:26.877486" elapsed="0.000748"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:26.879066" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:26.878574" elapsed="0.000665"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:23.639229" elapsed="3.240144"/>
</kw>
<msg time="2026-04-10T02:03:26.879539" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:26.879584" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:23.638174" elapsed="3.241556"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:26.879988" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:26.879831" elapsed="0.000223"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:26.879802" elapsed="0.000277"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:26.880580" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:26.880198" elapsed="0.000408"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:26.881130" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:26.880721" elapsed="0.000502">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:23.637322" elapsed="3.244043">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:31.092885" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:31.093280" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:31.093468" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:31.093631" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:27.885455" elapsed="3.208286"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:31.094797" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:31.094158" elapsed="0.000791"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:31.095773" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:31.095268" elapsed="0.000658"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:27.884272" elapsed="3.211775"/>
</kw>
<msg time="2026-04-10T02:03:31.096213" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:31.096257" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:27.883197" elapsed="3.213236"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:31.096705" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:31.096546" elapsed="0.000213"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:31.096512" elapsed="0.000271"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:31.097262" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:31.096905" elapsed="0.000408"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:31.097816" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:31.097430" elapsed="0.000469">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:27.882344" elapsed="3.215676">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:35.389419" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:35.389790" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:35.389955" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:35.390120" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:32.102723" elapsed="3.287504"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:35.391414" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:35.390778" elapsed="0.000785"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:35.392394" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:35.391884" elapsed="0.000651"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:32.101561" elapsed="3.291090"/>
</kw>
<msg time="2026-04-10T02:03:35.392820" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:35.392864" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:32.100083" elapsed="3.292919"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:35.393256" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:35.393105" elapsed="0.000221"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:35.393074" elapsed="0.000277"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:35.393857" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:35.393498" elapsed="0.000385"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:35.394409" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:35.393996" elapsed="0.000494">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:32.099160" elapsed="3.295451">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:39.937656" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:39.938025" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:39.938191" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:39.938377" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:36.399219" elapsed="3.539265"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:39.939546" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:39.938914" elapsed="0.000782"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:39.940525" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:39.940017" elapsed="0.000647"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:36.398060" elapsed="3.542720"/>
</kw>
<msg time="2026-04-10T02:03:39.940964" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:39.941010" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:36.396930" elapsed="3.544212"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:39.941426" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:39.941250" elapsed="0.000231"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:39.941215" elapsed="0.000291"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:39.941980" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:39.941624" elapsed="0.000381"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:39.942515" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:39.942117" elapsed="0.000474">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:36.395878" elapsed="3.546828">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:44.233633" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:44.233993" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:44.234170" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:44.234363" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:40.947244" elapsed="3.287226"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:44.235525" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:44.234890" elapsed="0.000783"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:44.236501" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:44.235992" elapsed="0.000651"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:40.945897" elapsed="3.290865"/>
</kw>
<msg time="2026-04-10T02:03:44.236930" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:44.237020" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:40.944811" elapsed="3.292372"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:44.237565" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:44.237296" elapsed="0.000326"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:44.237254" elapsed="0.000392"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:44.238274" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:44.237765" elapsed="0.000571"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:44.238883" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:44.238478" elapsed="0.000491">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:40.943839" elapsed="3.295255">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:48.777314" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:48.777743" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:48.777913" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:48.778074" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:45.243342" elapsed="3.534839"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:48.779268" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:48.778637" elapsed="0.000804"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:48.780264" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:48.779770" elapsed="0.000654"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:45.242139" elapsed="3.538402"/>
</kw>
<msg time="2026-04-10T02:03:48.780711" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:48.780756" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:45.241042" elapsed="3.539881"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:48.781179" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:48.781030" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:48.780994" elapsed="0.000258"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:48.781807" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:48.781398" elapsed="0.000436"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:48.782340" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:48.781951" elapsed="0.000464">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:45.240050" elapsed="3.542482">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:53.044319" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:53.044672" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:53.044833" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:53.044994" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:49.785997" elapsed="3.259106"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:53.046158" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:53.045533" elapsed="0.000790"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:53.047128" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:53.046641" elapsed="0.000629"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:49.785204" elapsed="3.262200"/>
</kw>
<msg time="2026-04-10T02:03:53.047568" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:53.047615" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:49.784429" elapsed="3.263336"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:53.048000" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:53.047859" elapsed="0.000189"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:53.047834" elapsed="0.000236"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:53.048563" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:53.048182" elapsed="0.000407"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:53.049074" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:53.048709" elapsed="0.000440">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:49.783737" elapsed="3.265522">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:03:57.636380" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:03:57.636749" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:03:57.636912" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:03:57.637072" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:54.052231" elapsed="3.584949"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:57.638219" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:57.637620" elapsed="0.000765"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:03:57.639190" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:03:57.638703" elapsed="0.000642"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:54.051520" elapsed="3.587945"/>
</kw>
<msg time="2026-04-10T02:03:57.639631" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:03:57.639677" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:54.050702" elapsed="3.589126"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:03:57.640065" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:03:57.639923" elapsed="0.000191"/>
</branch>
<status status="PASS" start="2026-04-10T02:03:57.639897" elapsed="0.000240"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:03:57.640659" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:03:57.640249" elapsed="0.000436"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:03:57.641179" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:03:57.640799" elapsed="0.000456">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:54.050059" elapsed="3.591333">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:01.871115" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:04:01.871492" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:01.871658" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:04:01.871819" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:03:58.645430" elapsed="3.226504"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:01.872999" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:01.872395" elapsed="0.000752"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:01.873969" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:01.873484" elapsed="0.000627"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:03:58.644266" elapsed="3.229960"/>
</kw>
<msg time="2026-04-10T02:04:01.874410" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:04:01.874455" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:58.643223" elapsed="3.231367"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:04:01.874831" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:04:01.874685" elapsed="0.000200"/>
</branch>
<status status="PASS" start="2026-04-10T02:04:01.874659" elapsed="0.000249"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:04:01.875392" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:04:01.875021" elapsed="0.000397"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:04:01.875902" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:04:01.875531" elapsed="0.000447">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:03:58.642389" elapsed="3.233719">None</status>
</kw>
<kw name="Invert_Failure" owner="WaitForFailure">
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:06.159579" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:04:06.159929" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:06.160095" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:04:06.160256" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:02.880348" elapsed="3.280040"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:06.161427" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:06.160806" elapsed="0.000773"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:06.162401" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:06.161895" elapsed="0.000647"/>
</kw>
<arg>32</arg>
<arg>100000</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:04:02.879165" elapsed="3.283632"/>
</kw>
<msg time="2026-04-10T02:04:06.162964" level="INFO">${status} = PASS</msg>
<msg time="2026-04-10T02:04:06.163009" level="INFO">${output} = None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:04:02.878076" elapsed="3.285087"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="NOT RUN" start="2026-04-10T02:04:06.163424" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-04-10T02:04:06.163259" elapsed="0.000215"/>
</branch>
<status status="PASS" start="2026-04-10T02:04:06.163232" elapsed="0.000265"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-04-10T02:04:06.163963" level="INFO">${output} = None</msg>
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="PASS" start="2026-04-10T02:04:06.163608" elapsed="0.000382"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<msg time="2026-04-10T02:04:06.164499" level="FAIL">None</msg>
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="FAIL" start="2026-04-10T02:04:06.164103" elapsed="0.000474">None</status>
</kw>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="FAIL" start="2026-04-10T02:04:02.877107" elapsed="3.287586">None</status>
</kw>
<msg time="2026-04-10T02:04:06.164787" level="FAIL">Keyword 'Invert_Failure' failed after retrying for 1 minute. The last error was: None</msg>
<arg>${timeout}</arg>
<arg>${refresh}</arg>
<arg>Invert_Failure</arg>
<arg>@{cell_list}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-04-10T02:03:05.628766" elapsed="60.536131">Keyword 'Invert_Failure' failed after retrying for 1 minute. The last error was: None</status>
</kw>
<msg time="2026-04-10T02:04:06.164953" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Wait_Until_Keyword_Succeeds</arg>
<arg>${timeout}</arg>
<arg>${refresh}</arg>
<arg>Invert_Failure</arg>
<arg>@{cell_list}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="FAIL" start="2026-04-10T02:03:05.628432" elapsed="60.536576"/>
</kw>
<arg>60s</arg>
<arg>1s</arg>
<arg>Check Flows Inventory</arg>
<arg>32</arg>
<arg>100000</arg>
<doc>Some Keywords need several tries to finally fail, this keyword passes if and only if the failure ultimately happens.</doc>
<status status="FAIL" start="2026-04-10T02:03:05.628110" elapsed="60.537003">Keyword 'Invert_Failure' failed after retrying for 1 minute. The last error was: None</status>
</kw>
<msg time="2026-04-10T02:04:06.165228" level="INFO">${status} = FAIL</msg>
<msg time="2026-04-10T02:04:06.165271" level="INFO">${output} = Keyword 'Invert_Failure' failed after retrying for 1 minute. The last error was: None</msg>
<var>${status}</var>
<var>${output}</var>
<arg>@{cell_sequence}</arg>
<doc>Runs the given keyword with the given arguments and ignores possible error.</doc>
<status status="PASS" start="2026-04-10T02:03:05.627737" elapsed="60.537574"/>
</kw>
<if>
<branch type="IF" condition="&quot;${status}&quot; != &quot;PASS&quot;">
<return>
<value>${output}</value>
<status status="PASS" start="2026-04-10T02:04:06.165499" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-04-10T02:04:06.165387" elapsed="0.000173"/>
</branch>
<status status="PASS" start="2026-04-10T02:04:06.165368" elapsed="0.000217"/>
</if>
<kw name="Convert To String" owner="BuiltIn">
<var>${output}</var>
<arg>${output}</arg>
<doc>Converts the given item to a Unicode string.</doc>
<status status="NOT RUN" start="2026-04-10T02:04:06.165693" elapsed="0.000023"/>
</kw>
<kw name="Fail" owner="BuiltIn">
<arg>${output}</arg>
<doc>Fails the test with the given message and optionally alters its tags.</doc>
<status status="NOT RUN" start="2026-04-10T02:04:06.165822" elapsed="0.000020"/>
</kw>
<arg>Confirm_Keyword_Fails_Within_Timeout</arg>
<arg>${timeout}</arg>
<arg>${refresh}</arg>
<arg>@{cell_list}</arg>
<doc>The response of Keyword execution is either a return value or a failure message.
This keyword calls the argument keyword and returns its failure message string,
or fails with its return value converted to string.</doc>
<status status="PASS" start="2026-04-10T02:03:05.627381" elapsed="60.538561"/>
</kw>
<msg time="2026-04-10T02:04:06.165993" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Invert_Failure</arg>
<arg>Confirm_Keyword_Fails_Within_Timeout</arg>
<arg>${timeout}</arg>
<arg>${refresh}</arg>
<arg>@{cell_list}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-04-10T02:03:05.626902" elapsed="60.539142"/>
</kw>
<arg>${imonitor}</arg>
<arg>${iperiod}</arg>
<arg>Check Flows Inventory</arg>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Some positive checks report false success for a short time. This keyword verifies no failure does happen within timeout period.
This implementation needs more complicated logic than, Verify_Keyword_Never_Passes_Within_Timeout,
so use that keyword in case you have a negative check handy.</doc>
<status status="PASS" start="2026-04-10T02:03:05.626460" elapsed="60.539661"/>
</kw>
<arg>${swnr}</arg>
<arg>${flnr}</arg>
<doc>This keywordwaits till inventory reaches required state</doc>
<status status="PASS" start="2026-04-10T02:03:05.626080" elapsed="60.540106"/>
</kw>
<kw name="Log Switch Details" type="TEARDOWN">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:06.169958" level="INFO">sh ./get-total-found.sh</msg>
<arg>${getf_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:06.166767" elapsed="0.003248"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:07.410920" level="INFO">Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 flows
Switch s10: 3108 flows
Switch s11: 3138 flows
Switch s12: 3204 flows
Switch s13: 3107 flows
Switch s14: 3122 flows
Switch s15: 3119 flows
Switch s16: 3076 flows
Switch s17: 3111 flows
Switch s18: 3120 flows
Switch s19: 3124 flows
Switch s20: 3116 flows
Switch s21: 3189 flows
Switch s22: 3204 flows
Switch s23: 3186 flows
Switch s24: 3124 flows
Switch s25: 3097 flows
Switch s26: 3119 flows
Switch s27: 3087 flows
Switch s28: 3115 flows
Switch s29: 3048 flows
Switch s30: 3100 flows
Switch s31: 3126 flows
Switch s32: 3182 flows

Total: 100000

mininet&gt;</msg>
<msg time="2026-04-10T02:04:07.411205" level="INFO">${log} = Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 ...</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:06.170141" elapsed="1.241096"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:07.411958" level="INFO">Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 flows
Switch s10: 3108 flows
Switch s11: 3138 flows
Switch s12: 3204 flows
Switch s13: 3107 flows
Switch s14: 3122 flows
Switch s15: 3119 flows
Switch s16: 3076 flows
Switch s17: 3111 flows
Switch s18: 3120 flows
Switch s19: 3124 flows
Switch s20: 3116 flows
Switch s21: 3189 flows
Switch s22: 3204 flows
Switch s23: 3186 flows
Switch s24: 3124 flows
Switch s25: 3097 flows
Switch s26: 3119 flows
Switch s27: 3087 flows
Switch s28: 3115 flows
Switch s29: 3048 flows
Switch s30: 3100 flows
Switch s31: 3126 flows
Switch s32: 3182 flows

Total: 100000

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:07.411547" elapsed="0.000571"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:07.413434" level="INFO">sh ./get-total-reported.sh</msg>
<arg>${getr_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:07.412239" elapsed="0.001251"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:08.070391" level="INFO">Switch s1:
  Table  active=3113, lookup=36, matched=0
Switch s2:
  Table  active=3134, lookup=61, matched=0
Switch s3:
  Table  active=3095, lookup=62, matched=0
Switch s4:
  Table  active=3186, lookup=61, matched=0
Switch s5:
  Table  active=3068, lookup=62, matched=0
Switch s6:
  Table  active=3211, lookup=63, matched=0
Switch s7:
  Table  active=3132, lookup=63, matched=0
Switch s8:
  Table  active=3031, lookup=62, matched=0
Switch s9:
  Table  active=3108, lookup=62, matched=0
Switch s10:
  Table  active=3108, lookup=63, matched=0
Switch s11:
  Table  active=3138, lookup=62, matched=0
Switch s12:
  Table  active=3204, lookup=63, matched=0
Switch s13:
  Table  active=3107, lookup=61, matched=0
Switch s14:
  Table  active=3122, lookup=62, matched=0
Switch s15:
  Table  active=3119, lookup=64, matched=0
Switch s16:
  Table  active=3076, lookup=64, matched=0
Switch s17:
  Table  active=3111, lookup=62, matched=0
Switch s18:
  Table  active=3120, lookup=63, matched=0
Switch s19:
  Table  active=3124, lookup=65, matched=0
Switch s20:
  Table  active=3116, lookup=63, matched=0
Switch s21:
  Table  active=3189, lookup=61, matched=0
Switch s22:
  Table  active=3204, lookup=62, matched=0
Switch s23:
  Table  active=3186, lookup=63, matched=0
Switch s24:
  Table  active=3124, lookup=62, matched=0
Switch s25:
  Table  active=3097, lookup=65, matched=0
Switch s26:
  Table  active=3119, lookup=62, matched=0
Switch s27:
  Table  active=3087, lookup=62, matched=0
Switch s28:
  Table  active=3115, lookup=61, matched=0
Switch s29:
  Table  active=3048, lookup=63, matched=0
Switch s30:
  Table  active=3100, lookup=62, matched=0
Switch s31:
  Table  active=3126, lookup=62, matched=0
Switch s32:
  Table  active=3182, lookup=34, matched=0

Total: 0

mininet&gt;</msg>
<msg time="2026-04-10T02:04:08.070609" level="INFO">${log} = Switch s1:
  Table  active=3113, lookup=36, matched=0
Switch s2:
  Table  active=3134, lookup=61, matched=0
Switch s3:
  Table  active=3095, lookup=62, matched=0
Switch s4:
  Table  active=3186...</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:07.413617" elapsed="0.657029"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:08.071173" level="INFO">Switch s1:
  Table  active=3113, lookup=36, matched=0
Switch s2:
  Table  active=3134, lookup=61, matched=0
Switch s3:
  Table  active=3095, lookup=62, matched=0
Switch s4:
  Table  active=3186, lookup=61, matched=0
Switch s5:
  Table  active=3068, lookup=62, matched=0
Switch s6:
  Table  active=3211, lookup=63, matched=0
Switch s7:
  Table  active=3132, lookup=63, matched=0
Switch s8:
  Table  active=3031, lookup=62, matched=0
Switch s9:
  Table  active=3108, lookup=62, matched=0
Switch s10:
  Table  active=3108, lookup=63, matched=0
Switch s11:
  Table  active=3138, lookup=62, matched=0
Switch s12:
  Table  active=3204, lookup=63, matched=0
Switch s13:
  Table  active=3107, lookup=61, matched=0
Switch s14:
  Table  active=3122, lookup=62, matched=0
Switch s15:
  Table  active=3119, lookup=64, matched=0
Switch s16:
  Table  active=3076, lookup=64, matched=0
Switch s17:
  Table  active=3111, lookup=62, matched=0
Switch s18:
  Table  active=3120, lookup=63, matched=0
Switch s19:
  Table  active=3124, lookup=65, matched=0
Switch s20:
  Table  active=3116, lookup=63, matched=0
Switch s21:
  Table  active=3189, lookup=61, matched=0
Switch s22:
  Table  active=3204, lookup=62, matched=0
Switch s23:
  Table  active=3186, lookup=63, matched=0
Switch s24:
  Table  active=3124, lookup=62, matched=0
Switch s25:
  Table  active=3097, lookup=65, matched=0
Switch s26:
  Table  active=3119, lookup=62, matched=0
Switch s27:
  Table  active=3087, lookup=62, matched=0
Switch s28:
  Table  active=3115, lookup=61, matched=0
Switch s29:
  Table  active=3048, lookup=63, matched=0
Switch s30:
  Table  active=3100, lookup=62, matched=0
Switch s31:
  Table  active=3126, lookup=62, matched=0
Switch s32:
  Table  active=3182, lookup=34, matched=0

Total: 0

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:08.070839" elapsed="0.000399"/>
</kw>
<status status="PASS" start="2026-04-10T02:04:06.166455" elapsed="1.904872"/>
</kw>
<doc>Inventory check if all 100000 flows are present for specified time frame</doc>
<status status="PASS" start="2026-04-10T02:03:05.625553" elapsed="62.445830"/>
</test>
<test id="s1-t5" name="Stop Mininet" line="76">
<kw name="Stop Switches">
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:08.072792" level="INFO">Stopping mininet</msg>
<arg>Stopping mininet</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:08.072573" elapsed="0.000265"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-04-10T02:04:08.072962" elapsed="0.000123"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:08.074633" level="INFO">exit</msg>
<arg>exit</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:08.073195" elapsed="0.001493"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:10.622064" level="INFO">*** Stopping 1 controllers
c0 
*** Stopping 63 links
...............................................................
*** Stopping 32 switches
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 
*** Stopping 32 hosts
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 
*** Done
completed in 100.016 seconds
[?2004h[jenkins@releng-64409-686-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${TOOLS_SYSTEM_PROMPT}</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:08.074808" elapsed="2.547510"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-04-10T02:04:10.622636" elapsed="0.000327"/>
</kw>
<doc>Stops mininet</doc>
<status status="PASS" start="2026-04-10T02:04:08.072321" elapsed="2.550718"/>
</kw>
<doc>Disconnect/Stop mininet</doc>
<status status="PASS" start="2026-04-10T02:04:08.071835" elapsed="2.551361"/>
</test>
<test id="s1-t6" name="Check No Flows In Operational After Disconnect" line="80">
<kw name="Inventory Change Reached">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:13.847311" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:04:13.847521" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:13.847569" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:04:13.847614" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:10.625599" elapsed="3.222040"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:13.848269" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:04:13.848410" level="FAIL">0.0 != 32.0</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:13.847857" elapsed="0.000738">0.0 != 32.0</status>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="NOT RUN" start="2026-04-10T02:04:13.848738" elapsed="0.000022"/>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:04:10.625239" elapsed="3.223632">0.0 != 32.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:14.871990" level="INFO">${sw} = 0</msg>
<msg time="2026-04-10T02:04:14.872111" level="INFO">${repf} = 0</msg>
<msg time="2026-04-10T02:04:14.872330" level="INFO">${foundf} = 0</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:14.850519" elapsed="0.021872"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:14.873700" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:14.872717" elapsed="0.001116"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:14.874804" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:14.874134" elapsed="0.000792"/>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:04:14.849581" elapsed="0.025815"/>
</kw>
<arg>${ichange}</arg>
<arg>${iperiod}</arg>
<arg>Check Flows Inventory</arg>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-04-10T02:04:10.624634" elapsed="4.250890"/>
</kw>
<arg>0</arg>
<arg>0</arg>
<doc>This keywordwaits till inventory reaches required state</doc>
<status status="PASS" start="2026-04-10T02:04:10.624256" elapsed="4.251404"/>
</kw>
<doc>With mininet stopped no switches in operational datastore sould be found</doc>
<status status="PASS" start="2026-04-10T02:04:10.623632" elapsed="4.252270"/>
</test>
<test id="s1-t7" name="Connect Mininet Again" line="84">
<kw name="Connect Switches">
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:14.878957" level="INFO">Starting mininet with 32 switches</msg>
<arg>Starting mininet with ${swnr} switches</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:14.878375" elapsed="0.000683"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<arg>${TOOLS_SYSTEM_IP}</arg>
<arg>prompt=${TOOLS_SYSTEM_PROMPT}</arg>
<arg>timeout=600</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-04-10T02:04:14.879367" elapsed="0.000678"/>
</kw>
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-04-10T02:04:14.880925" level="INFO">Logging into '10.30.171.148:22' as 'jenkins'.</msg>
<msg time="2026-04-10T02:04:15.496730" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-153-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Fri Apr 10 02:04:15 UTC 2026

  System load:  0.56               Processes:             112
  Usage of /:   19.4% of 38.58GB   Users logged in:       0
  Memory usage: 6%                 IPv4 address for ens3: 10.30.171.148
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

9 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '24.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Fri Apr 10 02:02:29 2026 from 10.30.170.54
[?2004h[jenkins@releng-64409-686-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${TOOLS_SYSTEM_USER}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>any</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-04-10T02:04:14.880374" elapsed="0.616516"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-04-10T02:04:15.497317" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-04-10T02:04:15.551134" level="INFO">Command exited with return code 0.</msg>
<arg>sudo ovs-vsctl set-manager ptcp:6644</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-04-10T02:04:15.497136" elapsed="0.054134"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-04-10T02:04:15.551858" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-04-10T02:04:16.746902" level="INFO">Command exited with return code 0.</msg>
<arg>sudo mn -c</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-04-10T02:04:15.551625" elapsed="1.195513"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:16.781613" level="INFO">sudo mn --controller=remote,ip=10.30.171.152 --topo linear,32 --switch ovsk,protocols=OpenFlow13</msg>
<arg>${start_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:16.747613" elapsed="0.034063"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:18.297546" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.171.152:6653
*** Adding hosts:
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 
*** Adding switches:
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 
*** Adding links:
(h1, s1) (h2, s2) (h3, s3) (h4, s4) (h5, s5) (h6, s6) (h7, s7) (h8, s8) (h9, s9) (h10, s10) (h11, s11) (h12, s12) (h13, s13) (h14, s14) (h15, s15) (h16, s16) (h17, s17) (h18, s18) (h19, s19) (h20, s20) (h21, s21) (h22, s22) (h23, s23) (h24, s24) (h25, s25) (h26, s26) (h27, s27) (h28, s28) (h29, s29) (h30, s30) (h31, s31) (h32, s32) (s2, s1) (s3, s2) (s4, s3) (s5, s4) (s6, s5) (s7, s6) (s8, s7) (s9, s8) (s10, s9) (s11, s10) (s12, s11) (s13, s12) (s14, s13) (s15, s14) (s16, s15) (s17, s16) (s18, s17) (s19, s18) (s20, s19) (s21, s20) (s22, s21) (s23, s22) (s24, s23) (s25, s24) (s26, s25) (s27, s26) (s28, s27) (s29, s28) (s30, s29) (s31, s30) (s32, s31) 
*** Configuring hosts
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 
*** Starting controller
c0 
*** Starting 32 switches
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 ...
*** Starting CLI:
mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:16.781807" elapsed="1.516050"/>
</kw>
<kw name="Comment" owner="BuiltIn">
<arg>Below line disables switch echos</arg>
<doc>Displays the given messages in the log file as keyword arguments.</doc>
<status status="PASS" start="2026-04-10T02:04:18.298273" elapsed="0.000542"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:18.302306" level="INFO">sh x=`sudo ovs-vsctl --columns=_uuid list Controller | awk '{print $NF}'`; for i in $x; do sudo ovs-vsctl set Controller $i inactivity_probe=0; done</msg>
<arg>sh x=`sudo ovs-vsctl --columns=_uuid list Controller | awk '{print $NF}'`; for i in $x; do sudo ovs-vsctl set Controller $i inactivity_probe=0; done</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:18.299117" elapsed="0.003269"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:20.596524" level="INFO">mininet&gt;</msg>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:18.302561" elapsed="2.294166"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Are Switches Connected Topo">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:04:20.629203" level="INFO">GET Request : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0rik6tpzva1s61lsikgfil3dw30.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-04-10T02:04:20.633451" level="INFO">GET Response : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:27&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openfl... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-04-10T02:04:20.634054" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>headers=${ACCEPT_XML}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-04-10T02:04:20.598235" elapsed="0.035880"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:20.638694" level="INFO">&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:27&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:18&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:29&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:17&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;/topology&gt;</msg>
<arg>${resp.content}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:20.634467" elapsed="0.004734"/>
</kw>
<kw name="Get Element Count" owner="XML">
<msg time="2026-04-10T02:04:20.641538" level="INFO">11 elements matched 'node'.</msg>
<msg time="2026-04-10T02:04:20.641623" level="INFO">${count} = 11</msg>
<var>${count}</var>
<arg>${resp.content}</arg>
<arg>xpath=node</arg>
<doc>Returns and logs how many elements the given ``xpath`` matches.</doc>
<status status="PASS" start="2026-04-10T02:04:20.639459" elapsed="0.002188"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:20.642055" level="INFO">Argument types are:
&lt;class 'int'&gt;
&lt;class 'str'&gt;</msg>
<msg time="2026-04-10T02:04:20.642156" level="FAIL">11.0 != 32.0</msg>
<arg>${count}</arg>
<arg>${swnr}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:20.641775" elapsed="0.000462">11.0 != 32.0</status>
</kw>
<doc>Checks wheather switches are connected to controller</doc>
<status status="FAIL" start="2026-04-10T02:04:20.597723" elapsed="0.044643">11.0 != 32.0</status>
</kw>
<kw name="Are Switches Connected Topo">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:04:21.656632" level="INFO">GET Request : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0rik6tpzva1s61lsikgfil3dw30.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-04-10T02:04:21.659112" level="INFO">GET Response : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:14&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openfl... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-04-10T02:04:21.659630" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>headers=${ACCEPT_XML}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-04-10T02:04:21.644066" elapsed="0.015605"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:21.662451" level="INFO">&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:14&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:3&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:27&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:4&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:16&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:15&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:18&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:29&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:17&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:1&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;/topology&gt;</msg>
<arg>${resp.content}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:21.659923" elapsed="0.002963"/>
</kw>
<kw name="Get Element Count" owner="XML">
<msg time="2026-04-10T02:04:21.665881" level="INFO">17 elements matched 'node'.</msg>
<msg time="2026-04-10T02:04:21.665972" level="INFO">${count} = 17</msg>
<var>${count}</var>
<arg>${resp.content}</arg>
<arg>xpath=node</arg>
<doc>Returns and logs how many elements the given ``xpath`` matches.</doc>
<status status="PASS" start="2026-04-10T02:04:21.663065" elapsed="0.002931"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:21.666441" level="INFO">Argument types are:
&lt;class 'int'&gt;
&lt;class 'str'&gt;</msg>
<msg time="2026-04-10T02:04:21.666574" level="FAIL">17.0 != 32.0</msg>
<arg>${count}</arg>
<arg>${swnr}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:21.666130" elapsed="0.000535">17.0 != 32.0</status>
</kw>
<doc>Checks wheather switches are connected to controller</doc>
<status status="FAIL" start="2026-04-10T02:04:21.643121" elapsed="0.023673">17.0 != 32.0</status>
</kw>
<kw name="Are Switches Connected Topo">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:04:22.682053" level="INFO">GET Request : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0rik6tpzva1s61lsikgfil3dw30.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-04-10T02:04:22.684386" level="INFO">GET Response : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;terminatio... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-04-10T02:04:22.684782" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>headers=${ACCEPT_XML}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-04-10T02:04:22.668322" elapsed="0.016498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:22.687519" level="INFO">&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:11&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:14&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:3&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:27&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:4&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:16&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:15&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:5&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:26&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:18&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:29&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:17&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:1&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:19&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;/topology&gt;</msg>
<arg>${resp.content}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:22.685040" elapsed="0.003040"/>
</kw>
<kw name="Get Element Count" owner="XML">
<msg time="2026-04-10T02:04:22.692311" level="INFO">23 elements matched 'node'.</msg>
<msg time="2026-04-10T02:04:22.692441" level="INFO">${count} = 23</msg>
<var>${count}</var>
<arg>${resp.content}</arg>
<arg>xpath=node</arg>
<doc>Returns and logs how many elements the given ``xpath`` matches.</doc>
<status status="PASS" start="2026-04-10T02:04:22.688330" elapsed="0.004148"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:22.693055" level="INFO">Argument types are:
&lt;class 'int'&gt;
&lt;class 'str'&gt;</msg>
<msg time="2026-04-10T02:04:22.693190" level="FAIL">23.0 != 32.0</msg>
<arg>${count}</arg>
<arg>${swnr}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:22.692658" elapsed="0.000648">23.0 != 32.0</status>
</kw>
<doc>Checks wheather switches are connected to controller</doc>
<status status="FAIL" start="2026-04-10T02:04:22.667503" elapsed="0.025959">23.0 != 32.0</status>
</kw>
<kw name="Are Switches Connected Topo">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:04:23.713337" level="INFO">GET Request : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0rik6tpzva1s61lsikgfil3dw30.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-04-10T02:04:23.716856" level="INFO">GET Response : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:6&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:12&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-04-10T02:04:23.717492" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>headers=${ACCEPT_XML}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-04-10T02:04:23.695100" elapsed="0.022430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:23.720049" level="INFO">&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:6&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:12&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:11&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:14&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:3&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:4&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:16&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:15&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:5&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:18&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:17&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:1&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:19&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:20&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:24&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:27&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:26&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:29&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;/topology&gt;</msg>
<arg>${resp.content}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:23.717728" elapsed="0.002971"/>
</kw>
<kw name="Get Element Count" owner="XML">
<msg time="2026-04-10T02:04:23.724605" level="INFO">27 elements matched 'node'.</msg>
<msg time="2026-04-10T02:04:23.724725" level="INFO">${count} = 27</msg>
<var>${count}</var>
<arg>${resp.content}</arg>
<arg>xpath=node</arg>
<doc>Returns and logs how many elements the given ``xpath`` matches.</doc>
<status status="PASS" start="2026-04-10T02:04:23.720873" elapsed="0.003886"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:23.725390" level="INFO">Argument types are:
&lt;class 'int'&gt;
&lt;class 'str'&gt;</msg>
<msg time="2026-04-10T02:04:23.725542" level="FAIL">27.0 != 32.0</msg>
<arg>${count}</arg>
<arg>${swnr}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:23.724937" elapsed="0.000686">27.0 != 32.0</status>
</kw>
<doc>Checks wheather switches are connected to controller</doc>
<status status="FAIL" start="2026-04-10T02:04:23.694355" elapsed="0.031381">27.0 != 32.0</status>
</kw>
<kw name="Are Switches Connected Topo">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:04:24.740452" level="INFO">GET Request : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0rik6tpzva1s61lsikgfil3dw30.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-04-10T02:04:24.741063" level="INFO">GET Response : url=http://10.30.171.152:8181/rests/data/network-topology:network-topology/topology=flow%3A1?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked'} 
 body=&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:6&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:12&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:8&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-04-10T02:04:24.741462" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API}</arg>
<arg>headers=${ACCEPT_XML}</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-04-10T02:04:24.727204" elapsed="0.014298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:24.744436" level="INFO">&lt;topology xmlns="urn:TBD:params:xml:ns:yang:network-topology"&gt;&lt;topology-id&gt;flow:1&lt;/topology-id&gt;&lt;node&gt;&lt;node-id&gt;openflow:30&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:30:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']/a:node-connector[a:id='openflow:30:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:30']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:32&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:32:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']/a:node-connector[a:id='openflow:32:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:32']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:10&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:10:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']/a:node-connector[a:id='openflow:10:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:10']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:6&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:6:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']/a:node-connector[a:id='openflow:6:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:6']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:31&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:31:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']/a:node-connector[a:id='openflow:31:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:31']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:7&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:7:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']/a:node-connector[a:id='openflow:7:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:7']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:12&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:12:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']/a:node-connector[a:id='openflow:12:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:12']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:8&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:8:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']/a:node-connector[a:id='openflow:8:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:8']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:9&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:9:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']/a:node-connector[a:id='openflow:9:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:9']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:11&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:11:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']/a:node-connector[a:id='openflow:11:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:11']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:2&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:2:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']/a:node-connector[a:id='openflow:2:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:2']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:14&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:14:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']/a:node-connector[a:id='openflow:14:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:14']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:3&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:3:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']/a:node-connector[a:id='openflow:3:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:3']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:13&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:13:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']/a:node-connector[a:id='openflow:13:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:13']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:4&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:4:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']/a:node-connector[a:id='openflow:4:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:4']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:16&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:16:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']/a:node-connector[a:id='openflow:16:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:16']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:15&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:15:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']/a:node-connector[a:id='openflow:15:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:15']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:5&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:5:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']/a:node-connector[a:id='openflow:5:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:5']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:18&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:18:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']/a:node-connector[a:id='openflow:18:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:18']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:17&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:17:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']/a:node-connector[a:id='openflow:17:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:17']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:1&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:1:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']/a:node-connector[a:id='openflow:1:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:1']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:19&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:19:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']/a:node-connector[a:id='openflow:19:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:19']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:21&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:21:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']/a:node-connector[a:id='openflow:21:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:21']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:20&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:20:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']/a:node-connector[a:id='openflow:20:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:20']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:23&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:23:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']/a:node-connector[a:id='openflow:23:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:23']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:22&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:22:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']/a:node-connector[a:id='openflow:22:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:22']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:25&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:25:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']/a:node-connector[a:id='openflow:25:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:25']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:24&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:24:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']/a:node-connector[a:id='openflow:24:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:24']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:27&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:27:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']/a:node-connector[a:id='openflow:27:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:27']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:26&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:26:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']/a:node-connector[a:id='openflow:26:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:26']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:29&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:29:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']/a:node-connector[a:id='openflow:29:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:29']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;node&gt;&lt;node-id&gt;openflow:28&lt;/node-id&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:LOCAL&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:LOCAL']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:2&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:2']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:1&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:1']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;termination-point&gt;&lt;tp-id&gt;openflow:28:3&lt;/tp-id&gt;&lt;inventory-node-connector-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']/a:node-connector[a:id='openflow:28:3']&lt;/inventory-node-connector-ref&gt;&lt;/termination-point&gt;&lt;inventory-node-ref xmlns="urn:opendaylight:model:topology:inventory" xmlns:a="urn:opendaylight:inventory"&gt;/a:nodes/a:node[a:id='openflow:28']&lt;/inventory-node-ref&gt;&lt;/node&gt;&lt;/topology&gt;</msg>
<arg>${resp.content}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:24.741702" elapsed="0.003497"/>
</kw>
<kw name="Get Element Count" owner="XML">
<msg time="2026-04-10T02:04:24.750029" level="INFO">32 elements matched 'node'.</msg>
<msg time="2026-04-10T02:04:24.750158" level="INFO">${count} = 32</msg>
<var>${count}</var>
<arg>${resp.content}</arg>
<arg>xpath=node</arg>
<doc>Returns and logs how many elements the given ``xpath`` matches.</doc>
<status status="PASS" start="2026-04-10T02:04:24.745394" elapsed="0.004798"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:24.750798" level="INFO">Argument types are:
&lt;class 'int'&gt;
&lt;class 'str'&gt;</msg>
<arg>${count}</arg>
<arg>${swnr}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:24.750395" elapsed="0.000484"/>
</kw>
<doc>Checks wheather switches are connected to controller</doc>
<status status="PASS" start="2026-04-10T02:04:24.726490" elapsed="0.024475"/>
</kw>
<arg>20s</arg>
<arg>1s</arg>
<arg>Are Switches Connected Topo</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-04-10T02:04:20.597040" elapsed="4.153986"/>
</kw>
<doc>Starts mininet with requested number of switches (32)</doc>
<status status="PASS" start="2026-04-10T02:04:14.877808" elapsed="9.873295"/>
</kw>
<doc>Reconnection of the mininet</doc>
<status status="PASS" start="2026-04-10T02:04:14.876722" elapsed="9.874528"/>
</test>
<test id="s1-t8" name="Check Flows Are Operational Again" line="88">
<kw name="Measure Setup Time">
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-04-10T02:04:24.753447" level="INFO">${starttime} = 1775786664</msg>
<var>${starttime}</var>
<arg>epoch</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-04-10T02:04:24.753006" elapsed="0.000478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:24.754057" level="INFO">Starting stats collection at time 1775786664</msg>
<arg>Starting stats collection at time ${starttime}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:24.753654" elapsed="0.000466"/>
</kw>
<kw name="Inventory Change Reached">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:27.953857" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:04:27.954097" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:27.954144" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:04:27.954188" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:24.755591" elapsed="3.198623"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.954844" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:27.954446" elapsed="0.000464"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.955352" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:27.955037" elapsed="0.000373"/>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:04:24.755246" elapsed="3.200235"/>
</kw>
<arg>${ichange}</arg>
<arg>${iperiod}</arg>
<arg>Check Flows Inventory</arg>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-04-10T02:04:24.754732" elapsed="3.200802"/>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>This keywordwaits till inventory reaches required state</doc>
<status status="PASS" start="2026-04-10T02:04:24.754314" elapsed="3.201282"/>
</kw>
<kw name="Save Setup Time" type="TEARDOWN">
<kw name="Get Time" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.956575" level="INFO">${endtime} = 1775786667</msg>
<var>${endtime}</var>
<arg>epoch</arg>
<doc>Returns the given time in the requested format.</doc>
<status status="PASS" start="2026-04-10T02:04:27.956257" elapsed="0.000344"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.956976" level="INFO">Stats collection finished at time 1775786667</msg>
<arg>Stats collection finished at time ${endtime}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:27.956722" elapsed="0.000299"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.957562" level="INFO">${res} = 3</msg>
<var>${res}</var>
<arg>int(${endtime})-int(${starttime})</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-04-10T02:04:27.957140" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.958095" level="INFO">${inittime} = 14</msg>
<var>${inittime}</var>
<arg>"${note}"=="inittime"</arg>
<arg>${res}</arg>
<arg>${inittime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:04:27.957724" elapsed="0.000397"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.958631" level="INFO">${restarttime} = 3</msg>
<var>${restarttime}</var>
<arg>"${note}"=="restarttime"</arg>
<arg>${res}</arg>
<arg>${restarttime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:04:27.958254" elapsed="0.000403"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.959145" level="INFO">${setuptime} = 15</msg>
<var>${setuptime}</var>
<arg>"${note}"=="setuptime"</arg>
<arg>${res}</arg>
<arg>${setuptime}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-04-10T02:04:27.958789" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.959673" level="INFO">${inittime} = 14</msg>
<arg>${inittime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:04:27.959326" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.960163" level="INFO">${restarttime} = 3</msg>
<arg>${restarttime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:04:27.959839" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-04-10T02:04:27.960749" level="INFO">${setuptime} = 15</msg>
<arg>${setuptime}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-04-10T02:04:27.960388" elapsed="0.000402"/>
</kw>
<arg>${note}</arg>
<arg>${starttime}</arg>
<doc>Count the difference and stores it</doc>
<status status="PASS" start="2026-04-10T02:04:27.955854" elapsed="0.004990"/>
</kw>
<arg>${swnr}</arg>
<arg>${flnr}</arg>
<arg>restarttime</arg>
<doc>This keyword is dedicated to save measured time for plotting</doc>
<status status="PASS" start="2026-04-10T02:04:24.752502" elapsed="3.208394"/>
</kw>
<kw name="Log Switch Details" type="TEARDOWN">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:27.963749" level="INFO">sh ./get-total-found.sh</msg>
<arg>${getf_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:27.961400" elapsed="0.002403"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:29.126105" level="INFO">Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 flows
Switch s10: 3108 flows
Switch s11: 3138 flows
Switch s12: 3204 flows
Switch s13: 3107 flows
Switch s14: 3122 flows
Switch s15: 3119 flows
Switch s16: 3076 flows
Switch s17: 3111 flows
Switch s18: 3120 flows
Switch s19: 3124 flows
Switch s20: 3116 flows
Switch s21: 3189 flows
Switch s22: 3204 flows
Switch s23: 3186 flows
Switch s24: 3124 flows
Switch s25: 3097 flows
Switch s26: 3119 flows
Switch s27: 3087 flows
Switch s28: 3115 flows
Switch s29: 3048 flows
Switch s30: 3100 flows
Switch s31: 3126 flows
Switch s32: 3182 flows

Total: 100000

mininet&gt;</msg>
<msg time="2026-04-10T02:04:29.126390" level="INFO">${log} = Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 ...</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:27.964009" elapsed="1.162418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:29.127039" level="INFO">Switch s1: 3113 flows
Switch s2: 3134 flows
Switch s3: 3095 flows
Switch s4: 3186 flows
Switch s5: 3068 flows
Switch s6: 3211 flows
Switch s7: 3132 flows
Switch s8: 3031 flows
Switch s9: 3108 flows
Switch s10: 3108 flows
Switch s11: 3138 flows
Switch s12: 3204 flows
Switch s13: 3107 flows
Switch s14: 3122 flows
Switch s15: 3119 flows
Switch s16: 3076 flows
Switch s17: 3111 flows
Switch s18: 3120 flows
Switch s19: 3124 flows
Switch s20: 3116 flows
Switch s21: 3189 flows
Switch s22: 3204 flows
Switch s23: 3186 flows
Switch s24: 3124 flows
Switch s25: 3097 flows
Switch s26: 3119 flows
Switch s27: 3087 flows
Switch s28: 3115 flows
Switch s29: 3048 flows
Switch s30: 3100 flows
Switch s31: 3126 flows
Switch s32: 3182 flows

Total: 100000

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:29.126664" elapsed="0.000430"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:29.128378" level="INFO">sh ./get-total-reported.sh</msg>
<arg>${getr_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:29.127221" elapsed="0.001211"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:29.742064" level="INFO">Switch s1:
  Table  active=3113, lookup=13, matched=0
Switch s2:
  Table  active=3134, lookup=17, matched=0
Switch s3:
  Table  active=3095, lookup=18, matched=0
Switch s4:
  Table  active=3186, lookup=19, matched=0
Switch s5:
  Table  active=3068, lookup=18, matched=0
Switch s6:
  Table  active=3211, lookup=18, matched=0
Switch s7:
  Table  active=3132, lookup=19, matched=0
Switch s8:
  Table  active=3031, lookup=22, matched=0
Switch s9:
  Table  active=3108, lookup=19, matched=0
Switch s10:
  Table  active=3108, lookup=20, matched=0
Switch s11:
  Table  active=3138, lookup=17, matched=0
Switch s12:
  Table  active=3204, lookup=19, matched=0
Switch s13:
  Table  active=3107, lookup=18, matched=0
Switch s14:
  Table  active=3122, lookup=19, matched=0
Switch s15:
  Table  active=3119, lookup=18, matched=0
Switch s16:
  Table  active=3076, lookup=19, matched=0
Switch s17:
  Table  active=3111, lookup=20, matched=0
Switch s18:
  Table  active=3120, lookup=19, matched=0
Switch s19:
  Table  active=3124, lookup=18, matched=0
Switch s20:
  Table  active=3116, lookup=19, matched=0
Switch s21:
  Table  active=3189, lookup=20, matched=0
Switch s22:
  Table  active=3204, lookup=19, matched=0
Switch s23:
  Table  active=3186, lookup=19, matched=0
Switch s24:
  Table  active=3124, lookup=19, matched=0
Switch s25:
  Table  active=3097, lookup=18, matched=0
Switch s26:
  Table  active=3119, lookup=20, matched=0
Switch s27:
  Table  active=3087, lookup=19, matched=0
Switch s28:
  Table  active=3115, lookup=21, matched=0
Switch s29:
  Table  active=3048, lookup=17, matched=0
Switch s30:
  Table  active=3100, lookup=19, matched=0
Switch s31:
  Table  active=3126, lookup=20, matched=0
Switch s32:
  Table  active=3182, lookup=14, matched=0

Total: 0

mininet&gt;</msg>
<msg time="2026-04-10T02:04:29.742401" level="INFO">${log} = Switch s1:
  Table  active=3113, lookup=13, matched=0
Switch s2:
  Table  active=3134, lookup=17, matched=0
Switch s3:
  Table  active=3095, lookup=18, matched=0
Switch s4:
  Table  active=3186...</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:29.128563" elapsed="0.613874"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:29.743142" level="INFO">Switch s1:
  Table  active=3113, lookup=13, matched=0
Switch s2:
  Table  active=3134, lookup=17, matched=0
Switch s3:
  Table  active=3095, lookup=18, matched=0
Switch s4:
  Table  active=3186, lookup=19, matched=0
Switch s5:
  Table  active=3068, lookup=18, matched=0
Switch s6:
  Table  active=3211, lookup=18, matched=0
Switch s7:
  Table  active=3132, lookup=19, matched=0
Switch s8:
  Table  active=3031, lookup=22, matched=0
Switch s9:
  Table  active=3108, lookup=19, matched=0
Switch s10:
  Table  active=3108, lookup=20, matched=0
Switch s11:
  Table  active=3138, lookup=17, matched=0
Switch s12:
  Table  active=3204, lookup=19, matched=0
Switch s13:
  Table  active=3107, lookup=18, matched=0
Switch s14:
  Table  active=3122, lookup=19, matched=0
Switch s15:
  Table  active=3119, lookup=18, matched=0
Switch s16:
  Table  active=3076, lookup=19, matched=0
Switch s17:
  Table  active=3111, lookup=20, matched=0
Switch s18:
  Table  active=3120, lookup=19, matched=0
Switch s19:
  Table  active=3124, lookup=18, matched=0
Switch s20:
  Table  active=3116, lookup=19, matched=0
Switch s21:
  Table  active=3189, lookup=20, matched=0
Switch s22:
  Table  active=3204, lookup=19, matched=0
Switch s23:
  Table  active=3186, lookup=19, matched=0
Switch s24:
  Table  active=3124, lookup=19, matched=0
Switch s25:
  Table  active=3097, lookup=18, matched=0
Switch s26:
  Table  active=3119, lookup=20, matched=0
Switch s27:
  Table  active=3087, lookup=19, matched=0
Switch s28:
  Table  active=3115, lookup=21, matched=0
Switch s29:
  Table  active=3048, lookup=17, matched=0
Switch s30:
  Table  active=3100, lookup=19, matched=0
Switch s31:
  Table  active=3126, lookup=20, matched=0
Switch s32:
  Table  active=3182, lookup=14, matched=0

Total: 0

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:29.742723" elapsed="0.000486"/>
</kw>
<status status="PASS" start="2026-04-10T02:04:27.961124" elapsed="1.782187"/>
</kw>
<doc>All 100000 slows should be present in the operational datastore after mininet reconnection</doc>
<status status="PASS" start="2026-04-10T02:04:24.751619" elapsed="4.991749"/>
</test>
<test id="s1-t9" name="Deconfigure Flows" line="93">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-04-10T02:04:29.755912" level="INFO">DELETE Request : url=http://10.30.171.152:8181/rests/data/opendaylight-inventory:nodes 
 path_url=/rests/data/opendaylight-inventory:nodes 
 headers={'User-Agent': 'python-requests/2.33.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node0rik6tpzva1s61lsikgfil3dw30.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-04-10T02:04:29.755964" level="INFO">DELETE Response : url=http://10.30.171.152:8181/rests/data/opendaylight-inventory:nodes 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-04-10T02:04:29.756168" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}</arg>
<arg>expected_status=204</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-04-10T02:04:29.744274" elapsed="0.011922"/>
</kw>
<doc>Flows deconfiguration</doc>
<status status="PASS" start="2026-04-10T02:04:29.743847" elapsed="0.012487"/>
</test>
<test id="s1-t10" name="Check No Flows In Operational Last" line="97">
<kw name="Inventory Change Reached">
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:34.496515" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 100000, 100000)</msg>
<msg time="2026-04-10T02:04:34.496737" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:34.496784" level="INFO">${repf} = 100000</msg>
<msg time="2026-04-10T02:04:34.496826" level="INFO">${foundf} = 100000</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:29.761394" elapsed="4.735458"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:34.497486" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:34.497070" elapsed="0.000482"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:34.497959" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:04:34.498067" level="FAIL">0.0 != 100000.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:34.497679" elapsed="0.000613">0.0 != 100000.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:04:29.760527" elapsed="4.737890">0.0 != 100000.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:36.713347" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 25357, 37571)</msg>
<msg time="2026-04-10T02:04:36.713556" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:36.713602" level="INFO">${repf} = 25357</msg>
<msg time="2026-04-10T02:04:36.713644" level="INFO">${foundf} = 37571</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:35.500092" elapsed="1.213579"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:36.714319" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:36.713905" elapsed="0.000480"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:36.714795" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:04:36.714905" level="FAIL">0.0 != 37571.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:36.714513" elapsed="0.000466">0.0 != 37571.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:04:35.499094" elapsed="1.216002">0.0 != 37571.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:38.869342" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 25357, 37571)</msg>
<msg time="2026-04-10T02:04:38.869555" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:38.869602" level="INFO">${repf} = 25357</msg>
<msg time="2026-04-10T02:04:38.869643" level="INFO">${foundf} = 37571</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:37.716547" elapsed="1.153122"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:38.870293" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:38.869886" elapsed="0.000476"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:38.870768" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:04:38.870889" level="FAIL">0.0 != 37571.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:38.870490" elapsed="0.000473">0.0 != 37571.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:04:37.715699" elapsed="1.155383">0.0 != 37571.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:40.694400" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 12799, 25013)</msg>
<msg time="2026-04-10T02:04:40.694609" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:40.694657" level="INFO">${repf} = 12799</msg>
<msg time="2026-04-10T02:04:40.694699" level="INFO">${foundf} = 25013</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:39.872381" elapsed="0.822343"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:40.695349" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:40.694944" elapsed="0.000470"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:40.695843" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:04:40.695956" level="FAIL">0.0 != 25013.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:40.695538" elapsed="0.000493">0.0 != 25013.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:04:39.871695" elapsed="0.824455">0.0 != 25013.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:42.119978" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 246, 12460)</msg>
<msg time="2026-04-10T02:04:42.120190" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:42.120237" level="INFO">${repf} = 246</msg>
<msg time="2026-04-10T02:04:42.120304" level="INFO">${foundf} = 12460</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:41.697355" elapsed="0.422975"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:42.121035" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:42.120643" elapsed="0.000458"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:42.121534" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<msg time="2026-04-10T02:04:42.121643" level="FAIL">0.0 != 12460.0</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="FAIL" start="2026-04-10T02:04:42.121226" elapsed="0.000491">0.0 != 12460.0</status>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="FAIL" start="2026-04-10T02:04:41.696694" elapsed="0.425141">0.0 != 12460.0</status>
</kw>
<kw name="Check Flows Inventory">
<kw name="Flow Stats Collected" owner="ScaleClient">
<msg time="2026-04-10T02:04:43.203364" level="INFO">('Switches,ActiveFlows(reported)/FlowsFound', 32, 0, 0)</msg>
<msg time="2026-04-10T02:04:43.203529" level="INFO">${sw} = 32</msg>
<msg time="2026-04-10T02:04:43.203574" level="INFO">${repf} = 0</msg>
<msg time="2026-04-10T02:04:43.203616" level="INFO">${foundf} = 0</msg>
<var>${sw}</var>
<var>${repf}</var>
<var>${foundf}</var>
<arg>controller=${ODL_SYSTEM_IP}</arg>
<doc>Provides the operational inventory counts counts of switches and flows.</doc>
<status status="PASS" start="2026-04-10T02:04:43.123516" elapsed="0.080123"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:43.204218" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rswitches}</arg>
<arg>${sw}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:43.203836" elapsed="0.000462"/>
</kw>
<kw name="Should Be Equal As Numbers" owner="BuiltIn">
<msg time="2026-04-10T02:04:43.204707" level="INFO">Argument types are:
&lt;class 'str'&gt;
&lt;class 'int'&gt;</msg>
<arg>${rflows}</arg>
<arg>${foundf}</arg>
<doc>Fails if objects are unequal after converting them to real numbers.</doc>
<status status="PASS" start="2026-04-10T02:04:43.204426" elapsed="0.000336"/>
</kw>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Checks in inventory has required state</doc>
<status status="PASS" start="2026-04-10T02:04:43.122566" elapsed="0.082263"/>
</kw>
<arg>${ichange}</arg>
<arg>${iperiod}</arg>
<arg>Check Flows Inventory</arg>
<arg>${rswitches}</arg>
<arg>${rflows}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-04-10T02:04:29.759147" elapsed="13.445733"/>
</kw>
<arg>${swnr}</arg>
<arg>0</arg>
<doc>This keywordwaits till inventory reaches required state</doc>
<status status="PASS" start="2026-04-10T02:04:29.758207" elapsed="13.446734"/>
</kw>
<kw name="Log Switch Details" type="TEARDOWN">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:43.208905" level="INFO">sh ./get-total-found.sh</msg>
<arg>${getf_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:43.205517" elapsed="0.003447"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:43.827644" level="INFO">Switch s1: 0 flows
Switch s2: 0 flows
Switch s3: 0 flows
Switch s4: 0 flows
Switch s5: 0 flows
Switch s6: 0 flows
Switch s7: 0 flows
Switch s8: 0 flows
Switch s9: 0 flows
Switch s10: 0 flows
Switch s11: 0 flows
Switch s12: 0 flows
Switch s13: 0 flows
Switch s14: 0 flows
Switch s15: 0 flows
Switch s16: 0 flows
Switch s17: 0 flows
Switch s18: 0 flows
Switch s19: 0 flows
Switch s20: 0 flows
Switch s21: 0 flows
Switch s22: 0 flows
Switch s23: 0 flows
Switch s24: 0 flows
Switch s25: 0 flows
Switch s26: 0 flows
Switch s27: 0 flows
Switch s28: 0 flows
Switch s29: 0 flows
Switch s30: 0 flows
Switch s31: 0 flows
Switch s32: 0 flows

Total: 0

mininet&gt;</msg>
<msg time="2026-04-10T02:04:43.827899" level="INFO">${log} = Switch s1: 0 flows
Switch s2: 0 flows
Switch s3: 0 flows
Switch s4: 0 flows
Switch s5: 0 flows
Switch s6: 0 flows
Switch s7: 0 flows
Switch s8: 0 flows
Switch s9: 0 flows
Switch s10: 0 flows...</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:43.209094" elapsed="0.618838"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:43.828653" level="INFO">Switch s1: 0 flows
Switch s2: 0 flows
Switch s3: 0 flows
Switch s4: 0 flows
Switch s5: 0 flows
Switch s6: 0 flows
Switch s7: 0 flows
Switch s8: 0 flows
Switch s9: 0 flows
Switch s10: 0 flows
Switch s11: 0 flows
Switch s12: 0 flows
Switch s13: 0 flows
Switch s14: 0 flows
Switch s15: 0 flows
Switch s16: 0 flows
Switch s17: 0 flows
Switch s18: 0 flows
Switch s19: 0 flows
Switch s20: 0 flows
Switch s21: 0 flows
Switch s22: 0 flows
Switch s23: 0 flows
Switch s24: 0 flows
Switch s25: 0 flows
Switch s26: 0 flows
Switch s27: 0 flows
Switch s28: 0 flows
Switch s29: 0 flows
Switch s30: 0 flows
Switch s31: 0 flows
Switch s32: 0 flows

Total: 0

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:43.828185" elapsed="0.000536"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:43.829910" level="INFO">sh ./get-total-reported.sh</msg>
<arg>${getr_cmd}</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:43.828854" elapsed="0.001112"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:43.852843" level="INFO">Total: 0

mininet&gt;</msg>
<msg time="2026-04-10T02:04:43.853009" level="INFO">${log} = 
Total: 0

mininet&gt;</msg>
<var>${log}</var>
<arg>mininet&gt;</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:43.830092" elapsed="0.022946"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:43.853695" level="INFO">
Total: 0

mininet&gt;</msg>
<arg>${log}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:43.853233" elapsed="0.000516"/>
</kw>
<status status="PASS" start="2026-04-10T02:04:43.205220" elapsed="0.648608"/>
</kw>
<doc>Operational datastore to be without any flows</doc>
<status status="PASS" start="2026-04-10T02:04:29.756574" elapsed="14.097308"/>
</test>
<test id="s1-t11" name="Stop Mininet End" line="102">
<kw name="Stop Switches">
<kw name="Log" owner="BuiltIn">
<msg time="2026-04-10T02:04:43.855477" level="INFO">Stopping mininet</msg>
<arg>Stopping mininet</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-04-10T02:04:43.855193" elapsed="0.000336"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-04-10T02:04:43.855674" elapsed="0.000147"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-04-10T02:04:43.857882" level="INFO">exit</msg>
<arg>exit</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-04-10T02:04:43.855947" elapsed="0.002026"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-04-10T02:04:46.283484" level="INFO">*** Stopping 1 controllers
c0 
*** Stopping 63 links
...............................................................
*** Stopping 32 switches
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 
*** Stopping 32 hosts
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 
*** Done
completed in 29.443 seconds
[?2004h[jenkins@releng-64409-686-1-mininet-ovs-217-0 ~]&gt;</msg>
<arg>${TOOLS_SYSTEM_PROMPT}</arg>
<doc>Consumes and returns the server output until ``expected`` is encountered.</doc>
<status status="PASS" start="2026-04-10T02:04:43.858162" elapsed="2.425677"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-04-10T02:04:46.284143" elapsed="0.000391"/>
</kw>
<doc>Stops mininet</doc>
<status status="PASS" start="2026-04-10T02:04:43.854895" elapsed="2.429711"/>
</kw>
<status status="PASS" start="2026-04-10T02:04:43.854396" elapsed="2.430363"/>
</test>
<kw name="Delete Http Session And Store Plot Data" type="TEARDOWN">
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-04-10T02:04:46.285883" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-04-10T02:04:46.285805" elapsed="0.000168"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-04-10T02:04:46.286580" level="INFO">${initrate} = 7142.857142857143</msg>
<var>${initrate}</var>
<arg>(${flnr}/${inittime})</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-04-10T02:04:46.286097" elapsed="0.000511"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-04-10T02:04:46.287118" level="INFO">${restartrate} = 33333.333333333336</msg>
<var>${restartrate}</var>
<arg>(${flnr}/${restarttime})</arg>
<doc>Evaluates the given expression in Python and returns the result.</doc>
<status status="PASS" start="2026-04-10T02:04:46.286751" elapsed="0.000395"/>
</kw>
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-04-10T02:04:46.287669" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_rate.csv"&gt;/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_rate.csv&lt;/a&gt;'.</msg>
<arg>${ratefile}</arg>
<arg>Initial,AfterMininetRestart\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-04-10T02:04:46.287266" elapsed="0.000459"/>
</kw>
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-04-10T02:04:46.288128" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_rate.csv"&gt;/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_rate.csv&lt;/a&gt;'.</msg>
<arg>${ratefile}</arg>
<arg>${initrate},${restartrate}\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-04-10T02:04:46.287846" elapsed="0.000336"/>
</kw>
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-04-10T02:04:46.288635" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_time.csv"&gt;/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_time.csv&lt;/a&gt;'.</msg>
<arg>${timefile}</arg>
<arg>Initial,AfterMininetRestart\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-04-10T02:04:46.288387" elapsed="0.000303"/>
</kw>
<kw name="Append To File" owner="OperatingSystem">
<msg time="2026-04-10T02:04:46.289080" level="INFO" html="true">Appended to file '&lt;a href="file:///w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_time.csv"&gt;/w/workspace/openflowplugin-csit-1node-perf-stats-collection-only-titanium/stats_time.csv&lt;/a&gt;'.</msg>
<arg>${timefile}</arg>
<arg>${inittime},${restarttime}\n</arg>
<doc>Appends the given content to the specified file.</doc>
<status status="PASS" start="2026-04-10T02:04:46.288811" elapsed="0.000322"/>
</kw>
<status status="PASS" start="2026-04-10T02:04:46.285588" elapsed="0.003605"/>
</kw>
<doc>Suite checks if StatMngr is able to collect flows correctly</doc>
<status status="PASS" start="2026-04-10T02:02:27.771031" elapsed="138.518189"/>
</suite>
<statistics>
<total>
<stat pass="11" fail="0" skip="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat name="openflowplugin-perf-stats-collection.txt" id="s1" pass="11" fail="0" skip="0">openflowplugin-perf-stats-collection.txt</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
