<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.4.2 (Python 3.11.10 on linux)" generated="2026-09-12T23:44:36.109342" rpa="false" schemaversion="5">
<suite id="s1" name="netconf-callhome.txt" source="/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/suites/netconf/callhome">
<suite id="s1-s1" name="Callhome" source="/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/suites/netconf/callhome/callhome.robot">
<kw name="Suite Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Install Docker Compose on tools system" owner="NetconfCallHome">
<kw name="Open_Connection_To_Tools_System" owner="SSHKeywords">
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-09-12T23:44:36.605214" level="INFO">${tools_connection} = 1</msg>
<var>${tools_connection}</var>
<arg>${ip_address}</arg>
<arg>prompt=${prompt}</arg>
<arg>timeout=${timeout}</arg>
<doc>Opens a new SSH connection to the given ``host`` and ``port``.</doc>
<status status="PASS" start="2026-09-12T23:44:36.604742" elapsed="0.000510"/>
</kw>
<kw name="Flexible_Mininet_Login" owner="SSHKeywords">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-09-12T23:44:36.607369" level="INFO">Length is 0.</msg>
<msg time="2026-09-12T23:44:36.607456" level="INFO">${pwd_length} = 0</msg>
<var>${pwd_length}</var>
<arg>${password}</arg>
<doc>Returns and logs the length of the given item as an integer.</doc>
<status status="PASS" start="2026-09-12T23:44:36.606923" elapsed="0.000561"/>
</kw>
<kw name="Run Keyword And Return If" owner="BuiltIn">
<arg>${pwd_length} &gt; 0</arg>
<arg>SSHLibrary.Login</arg>
<arg>${user}</arg>
<arg>${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:36.607627" elapsed="0.000383"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-09-12T23:44:36.608967" level="INFO">Logging into '10.30.171.11:22' as 'jenkins'.</msg>
<msg time="2026-09-12T23:44:37.081979" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-190-generic x86_64)

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

 System information as of Sat Sep 12 23:44:08 UTC 2026

  System load:  0.19               Processes:             108
  Usage of /:   20.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.11
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[?2004h[jenkins@releng-50633-58-1-docker-0 ~]&gt;</msg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Logs into the SSH server using key-based authentication.</doc>
<status status="PASS" start="2026-09-12T23:44:36.608501" elapsed="0.473710"/>
</kw>
<msg time="2026-09-12T23:44:37.082381" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>SSHLibrary.Login With Public Key</arg>
<arg>${user}</arg>
<arg>${USER_HOME}/.ssh/${SSH_KEY}</arg>
<arg>${KEYFILE_PASS}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:36.608163" elapsed="0.474358"/>
</kw>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>On active SSH session: if given non-empty password, do Login, else do Login With Public Key.</doc>
<status status="PASS" start="2026-09-12T23:44:36.606475" elapsed="0.476247"/>
</kw>
<msg time="2026-09-12T23:44:37.082813" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Flexible SSH Login</arg>
<arg>user=${user}</arg>
<arg>password=${password}</arg>
<arg>delay=${delay}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:36.605986" elapsed="0.476905"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-09-12T23:44:36.605448" elapsed="0.477561"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-09-12T23:44:37.083094" elapsed="0.000082"/>
</return>
<msg time="2026-09-12T23:44:37.083485" level="INFO">${netopeer_conn_id} = 1</msg>
<var>${netopeer_conn_id}</var>
<doc>Open a connection to the tools system at ${ip_address} and return its identifier.</doc>
<status status="PASS" start="2026-09-12T23:44:36.604295" elapsed="0.479229"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:37.084428" level="INFO">${netopeer_conn_id} = 1</msg>
<arg>${netopeer_conn_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:37.083810" elapsed="0.000685"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-09-12T23:44:37.088104" level="INFO">sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</msg>
<arg>sudo curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose</arg>
<doc>Writes the given ``text`` on the remote machine and appends a newline.</doc>
<status status="PASS" start="2026-09-12T23:44:37.084705" elapsed="0.003483"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Read Until Prompt" owner="SSHLibrary">
<msg time="2026-09-12T23:44:37.553325" level="INFO">[?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 8053k  100 8053k    0     0  18.7M      0 --:--:-- --:--:-- --:--:-- 18.7M
[?2004h[jenkins@releng-50633-58-1-docker-0 ~]&gt;</msg>
<doc>Consumes and returns the server output until the prompt is found.</doc>
<status status="PASS" start="2026-09-12T23:44:37.089764" elapsed="0.463730"/>
</kw>
<msg time="2026-09-12T23:44:37.553678" level="INFO">${output} = [?2004l  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     ...</msg>
<var>${output}</var>
<arg>30s</arg>
<arg>2s</arg>
<arg>SSHLibrary.Read_Until_Prompt</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-12T23:44:37.089081" elapsed="0.464628"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:37.554178" level="INFO">Executing command 'sudo chmod +x /usr/local/bin/docker-compose'.</msg>
<msg time="2026-09-12T23:44:37.577698" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:44:37.577828" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:44:37.577869" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:44:37.577908" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>sudo chmod +x /usr/local/bin/docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:37.553928" elapsed="0.024001"/>
</kw>
<doc>Install docker-compose on tools system.</doc>
<status status="PASS" start="2026-09-12T23:44:36.600729" elapsed="0.977361"/>
</kw>
<kw name="Pull Netopeer2 Docker Image" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:37.578740" level="INFO">Executing command 'docker pull sysrepo/sysrepo-netopeer2:latest'.</msg>
<msg time="2026-09-12T23:44:46.009528" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:44:46.009857" level="INFO">${stdout} = latest: Pulling from sysrepo/sysrepo-netopeer2
9be2789ffa20: Pulling fs layer
399fb1102f3f: Pulling fs layer
9b0152ba3415: Pulling fs layer
456e970a28f8: Pulling fs layer
3d97b7f99a05: Pulling fs laye...</msg>
<msg time="2026-09-12T23:44:46.009931" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:44:46.009999" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker pull sysrepo/sysrepo-netopeer2:latest</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:37.578559" elapsed="8.431480"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.010731" level="INFO">Executing command 'docker images'.</msg>
<msg time="2026-09-12T23:44:46.129236" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:44:46.129526" level="INFO">${stdout} = IMAGE                              ID             DISK USAGE   CONTENT SIZE   EXTRA
sysrepo/sysrepo-netopeer2:latest   36cc1d841c97        914MB          232MB        </msg>
<msg time="2026-09-12T23:44:46.129596" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:44:46.129690" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker images</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.010383" elapsed="0.119348"/>
</kw>
<doc>Pulls the netopeer image from the docker repository.</doc>
<status status="PASS" start="2026-09-12T23:44:37.578299" elapsed="8.551576"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.177690" level="INFO">[chan 4] Opened sftp connection (server version 3)</msg>
<msg time="2026-09-12T23:44:46.187245" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml' -&gt; '/home/jenkins//docker-compose.yaml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:44:46.130134" elapsed="0.057261"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.195803" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh' -&gt; '/home/jenkins//init_configuration.sh'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh</arg>
<arg>.</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:44:46.187704" elapsed="0.008215"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.196470" level="INFO">Executing command 'sed -i -e 's/ODL_SYSTEM_IP/10.30.170.178/g' docker-compose.yaml'.</msg>
<msg time="2026-09-12T23:44:46.209296" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/ODL_SYSTEM_IP/${ODL_SYSTEM_IP}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.196184" elapsed="0.013277"/>
</kw>
<kw name="Set_Variable_If_At_Least_Sulfur" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-12T23:44:46.230499" elapsed="0.000699"/>
</kw>
<msg time="2026-09-12T23:44:46.231286" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:46.229939" elapsed="0.001455"/>
</kw>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return 4334 if vanadium is at least ${lower_bound},
return 6666 otherwise.</doc>
<status status="PASS" start="2026-09-12T23:44:46.229408" elapsed="0.002099"/>
</kw>
<msg time="2026-09-12T23:44:46.231572" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:46.219560" elapsed="0.012076"/>
</kw>
<msg time="2026-09-12T23:44:46.231823" level="INFO">${netconf_cl_ssh_port} = 4334</msg>
<var>${netconf_cl_ssh_port}</var>
<arg>4334</arg>
<arg>6666</arg>
<doc>Compare sulfur to vanadium and return ${value_if_true} if vanadium is at least sulfur, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-09-12T23:44:46.219081" elapsed="0.012778"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.232270" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_SSH/4334/g' docker-compose.yaml'.</msg>
<msg time="2026-09-12T23:44:46.258185" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_SSH/${netconf_cl_ssh_port}/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.232054" elapsed="0.026304"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.258915" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml'.</msg>
<msg time="2026-09-12T23:44:46.310419" level="INFO">Command exited with return code 0.</msg>
<arg>sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.258709" elapsed="0.051870"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-12T23:44:46.331818" elapsed="0.000627"/>
</kw>
<msg time="2026-09-12T23:44:46.332527" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:46.331224" elapsed="0.001385"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return "connection-status":"connected" if vanadium is at least ${lower_bound},
return "netconf-node-topology:connection-status":"connected" otherwise.</doc>
<status status="PASS" start="2026-09-12T23:44:46.330689" elapsed="0.002043"/>
</kw>
<msg time="2026-09-12T23:44:46.332881" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:46.320580" elapsed="0.012375"/>
</kw>
<msg time="2026-09-12T23:44:46.333097" level="INFO">${substring1} = "connection-status":"connected"</msg>
<var>${substring1}</var>
<arg>"connection-status":"connected"</arg>
<arg>"netconf-node-topology:connection-status":"connected"</arg>
<doc>Compare scandium to vanadium and return ${value_if_true} if vanadium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-09-12T23:44:46.320063" elapsed="0.013066"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.333719" level="INFO">${substring2} = "node-id":"netopeer2"</msg>
<var>${substring2}</var>
<arg>"node-id":"netopeer2"</arg>
<doc>Returns the given values which can then be assigned to a variables.</doc>
<status status="PASS" start="2026-09-12T23:44:46.333350" elapsed="0.000401"/>
</kw>
<kw name="Set_Variable_If_At_Least_Scandium" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set_Variable_If_At_Least" owner="CompareStream">
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Set Variable If" owner="BuiltIn">
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-09-12T23:44:46.354074" elapsed="0.000687"/>
</kw>
<msg time="2026-09-12T23:44:46.354853" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>BuiltIn.Set_Variable_If</arg>
<arg>${Stream_dict}[${ODL_STREAM}] &gt;= ${Stream_dict}[${lower_bound}]</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:46.353544" elapsed="0.001403"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to vanadium and return "available-capabilities" if vanadium is at least ${lower_bound},
return "netconf-node-topology:available-capabilities" otherwise.</doc>
<status status="PASS" start="2026-09-12T23:44:46.353046" elapsed="0.002009"/>
</kw>
<msg time="2026-09-12T23:44:46.355116" level="INFO">Returning from the enclosing user keyword.</msg>
<arg>Set_Variable_If_At_Least</arg>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Runs the specified keyword and returns from the enclosing user keyword.</doc>
<status status="PASS" start="2026-09-12T23:44:46.343176" elapsed="0.012007"/>
</kw>
<msg time="2026-09-12T23:44:46.355356" level="INFO">${substring3} = "available-capabilities"</msg>
<var>${substring3}</var>
<arg>"available-capabilities"</arg>
<arg>"netconf-node-topology:available-capabilities"</arg>
<doc>Compare scandium to vanadium and return ${value_if_true} if vanadium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-09-12T23:44:46.342675" elapsed="0.012720"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.356193" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<var>${netconf_mount_expected_values}</var>
<arg>${substring1}</arg>
<arg>${substring2}</arg>
<arg>${substring3}</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:44:46.355629" elapsed="0.000602"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.357060" level="INFO">${netconf_mount_expected_values} = ['"connection-status":"connected"', '"node-id":"netopeer2"', '"available-capabilities"']</msg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.356502" elapsed="0.000619"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.361980" level="INFO">${CREATE_GLOBAL_CREDENTIALS_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</msg>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.357348" elapsed="0.004707"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.367192" level="INFO">${CREATE_SSH_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.362294" elapsed="0.004976"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.371926" level="INFO">${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_device_hostkey_only.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.367531" elapsed="0.004465"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.377429" level="INFO">${CREATE_TLS_DEVICE_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</msg>
<arg>${CREATE_TLS_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.372231" elapsed="0.005277"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.382715" level="INFO">${ADD_KEYSTORE_ENTRY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</msg>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.377777" elapsed="0.005013"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.388113" level="INFO">${ADD_PRIVATE_KEY_REQ} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</msg>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.383028" elapsed="0.005160"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.393478" level="INFO">${ADD_TRUSTED_CERTIFICATE} = /w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</msg>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.388541" elapsed="0.005009"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.393974" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:44:46.711886" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.393798" elapsed="0.318279"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.712845" level="INFO">Executing command 'awk '{print $2}' incorrect_ssh_host_rsa_key.pub'.</msg>
<msg time="2026-09-12T23:44:46.759386" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:44:46.759723" level="INFO">${incorrect_public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAu...</msg>
<var>${incorrect_public_key}</var>
<arg>awk '{print $2}' incorrect_ssh_host_rsa_key.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.712522" elapsed="0.047273"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:46.768702" level="INFO">${INCORRECT_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAu...</msg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>${incorrect_public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-09-12T23:44:46.760206" elapsed="0.008598"/>
</kw>
<doc>Get the suite ready for callhome test cases.</doc>
<status status="PASS" start="2026-09-12T23:44:36.600407" elapsed="10.168535"/>
</kw>
<test id="s1-s1-t1" name="CallHome over SSH with correct device credentials" line="17">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:46.771912" level="INFO">Creating Session using : alias=session, url=http://10.30.170.178:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7dde61b8a4d0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-12T23:44:46.771271" elapsed="0.001039"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.772907" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-12T23:44:46.810702" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.772630" elapsed="0.038221"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:46.811312" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:44:47.136286" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:46.811127" elapsed="0.325327"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:47.136932" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-12T23:44:47.190508" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:44:47.190761" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQamb...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:47.136742" elapsed="0.054057"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:47.196004" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQamb...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:44:47.191096" elapsed="0.004968"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-12T23:44:46.770676" elapsed="0.425472"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:44:47.239177" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:44:47.196780" elapsed="0.042524"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:44:47.249086" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:44:47.239590" elapsed="0.009587"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-12T23:44:47.196408" elapsed="0.052868"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-12T23:44:47.254834" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:47.250231" elapsed="0.004748"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:44:47.255846" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:44:47.256059" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:44:47.255613" elapsed="0.000481"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:44:47.256813" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:44:47.256307" elapsed="0.000569"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:47.255220" elapsed="0.001732"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:47.255025" elapsed="0.001959"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:47.250192" elapsed="0.006824"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:44:47.257550" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:44:47.257202" elapsed="0.000385"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:44:47.258112" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:44:47.257801" elapsed="0.000347"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:44:47.258685" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:44:47.258359" elapsed="0.000364"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:44:47.259213" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:44:47.258911" elapsed="0.000337"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:48.251076" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '610', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
          "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP"
        }
    }
}
 
 </msg>
<msg time="2026-09-12T23:44:48.251200" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 11-Sep-2026 23:44:48 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:44:48.251576" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:44:47.259468" elapsed="0.992158"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:44:48.251929" elapsed="0.003540"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-12T23:44:47.249714" elapsed="1.005864"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:44:48.256102" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-12T23:44:48.603859" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:44:48.604187" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:44:48.604274" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:44:48.604384" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:44:48.255847" elapsed="0.348584"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:44:48.607762" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:44:48.606981" elapsed="0.000835"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:44:48.608673" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:48.608092" elapsed="0.000699"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:48.608038" elapsed="0.000808"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:48.676775" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:44:48.678414" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:44:48.678691" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:44:48.622905" elapsed="0.055842"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:44:48.679696" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:48.678956" elapsed="0.000860"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:44:48.684600" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:44:48.680141" elapsed="0.004599"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:48.679870" elapsed="0.004939"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:48.678898" elapsed="0.005961"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:44:48.685145" elapsed="0.000440"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:44:48.686460" elapsed="0.004884"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:44:48.686168" elapsed="0.005260"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:44:48.695981" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:44:48.691893" elapsed="0.004323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:44:48.691609" elapsed="0.004742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:44:48.685860" elapsed="0.010586">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:44:48.621967" elapsed="0.074642">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:44:48.606215" elapsed="0.090705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:44:50.699560" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:44:50.698738" elapsed="0.000883"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:44:50.700377" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:50.699828" elapsed="0.000664"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:50.699780" elapsed="0.000766"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:50.730374" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:44:50.730809" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:44:50.731139" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:44:50.717559" elapsed="0.013655"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:44:50.732496" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:50.731518" elapsed="0.001213"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:44:50.739044" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:44:50.733195" elapsed="0.006006"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:50.732812" elapsed="0.006514"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:50.731445" elapsed="0.007955"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:44:50.739740" elapsed="0.000395"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:44:50.740948" elapsed="0.004929"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:44:50.740674" elapsed="0.005308"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:44:50.751986" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:44:50.746552" elapsed="0.005625">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:44:50.746201" elapsed="0.006182">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:44:50.740300" elapsed="0.012331">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:44:50.716228" elapsed="0.036671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:44:50.697867" elapsed="0.055242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:44:52.756110" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:44:52.755125" elapsed="0.001053"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:44:52.756994" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:52.756406" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:52.756348" elapsed="0.000825"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:52.784501" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:44:52.784861" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:44:52.785132" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:44:52.772173" elapsed="0.013014"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:44:52.786116" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:52.785397" elapsed="0.000842"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:44:52.791232" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:44:52.786571" elapsed="0.004796"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:52.786290" elapsed="0.005148"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:52.785348" elapsed="0.006136"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:44:52.791825" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:44:52.792954" elapsed="0.004927"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:44:52.792685" elapsed="0.005281"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:44:52.803411" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:44:52.798477" elapsed="0.005252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:44:52.798168" elapsed="0.005741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:44:52.792332" elapsed="0.011719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:44:52.771267" elapsed="0.033121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:44:52.754156" elapsed="0.050530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:44:54.807616" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:44:54.806624" elapsed="0.001090"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:44:54.808481" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:54.807902" elapsed="0.000698"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:54.807853" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:54.836804" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:44:54.837241" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:44:54.837785" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:44:54.824127" elapsed="0.013721"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:44:54.838935" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:54.838108" elapsed="0.000957"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:44:54.844547" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:44:54.839434" elapsed="0.005353"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:54.839133" elapsed="0.005749"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:54.838034" elapsed="0.006919"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:44:54.845320" elapsed="0.000489"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:44:54.846704" elapsed="0.005530"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:44:54.846312" elapsed="0.006083"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:44:54.858163" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:44:54.853139" elapsed="0.005233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:44:54.852693" elapsed="0.005836">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:44:54.845956" elapsed="0.012734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:44:54.822822" elapsed="0.036128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:44:54.805588" elapsed="0.053591">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:44:56.862069" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:44:56.861124" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:44:56.862925" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:56.862342" elapsed="0.000708"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:56.862294" elapsed="0.000808"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:56.891371" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:44:56.891722" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:44:56.892059" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:44:56.878024" elapsed="0.014092"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:44:56.893069" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:56.892338" elapsed="0.000857"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:44:56.898058" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:44:56.893536" elapsed="0.004626"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:56.893246" elapsed="0.004987"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:56.892263" elapsed="0.006042"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:44:56.898567" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:44:56.899678" elapsed="0.004471"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:44:56.899393" elapsed="0.004836"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:44:56.909438" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:44:56.904687" elapsed="0.004988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:44:56.904417" elapsed="0.005419">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:44:56.899077" elapsed="0.010883">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:44:56.877048" elapsed="0.033128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:44:56.860171" elapsed="0.050244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:44:58.913372" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:44:58.912375" elapsed="0.001066"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:44:58.914292" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:58.913632" elapsed="0.000897"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:58.913585" elapsed="0.001006"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:44:58.943510" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:44:58.943864" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:44:58.944139" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:44:58.930799" elapsed="0.013396"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:44:58.945134" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:44:58.944416" elapsed="0.000875"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:44:58.950544" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:44:58.945679" elapsed="0.005014"/>
</kw>
<status status="PASS" start="2026-09-12T23:44:58.945350" elapsed="0.005422"/>
</branch>
<status status="PASS" start="2026-09-12T23:44:58.944370" elapsed="0.006451"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:44:58.951098" elapsed="0.000431"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:44:58.952304" elapsed="0.005537"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:44:58.951987" elapsed="0.005950"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:44:58.964335" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:44:58.958490" elapsed="0.006073">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:44:58.958173" elapsed="0.006615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:44:58.951689" elapsed="0.013297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:44:58.929787" elapsed="0.035438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:44:58.911413" elapsed="0.054201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:00.968496" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:00.967540" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:00.969334" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:00.968786" elapsed="0.000667"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:00.968739" elapsed="0.000766"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:00.995547" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:00.995899" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:00.996121" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:00.983918" elapsed="0.012257"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:00.997109" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:00.996402" elapsed="0.000826"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:01.002165" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:00.997573" elapsed="0.004734"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:00.997297" elapsed="0.005099"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:00.996354" elapsed="0.006090"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:01.002800" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:01.003934" elapsed="0.005233"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:01.003604" elapsed="0.005683"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:01.014878" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:01.009768" elapsed="0.005327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:01.009466" elapsed="0.005817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:01.003317" elapsed="0.012213">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:00.982951" elapsed="0.032877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:00.966585" elapsed="0.049489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:03.017762" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:03.017330" elapsed="0.000466"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:03.018148" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:03.017887" elapsed="0.000315"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:03.017864" elapsed="0.000361"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:03.033688" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:03.033854" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:03.033974" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:03.024469" elapsed="0.009537"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:03.034420" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:03.034098" elapsed="0.000389"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:03.036961" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:03.034653" elapsed="0.002370"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:03.034510" elapsed="0.002554"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:03.034077" elapsed="0.003011"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:03.037252" elapsed="0.000220"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:03.037914" elapsed="0.002363"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:03.037754" elapsed="0.002569"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:03.043306" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:03.040561" elapsed="0.002933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:03.040413" elapsed="0.003178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:03.037557" elapsed="0.006130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:03.024067" elapsed="0.019758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:03.016817" elapsed="0.027133">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:05.046002" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:05.045367" elapsed="0.000684"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:05.046577" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:05.046182" elapsed="0.000500"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:05.046149" elapsed="0.000573"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:05.069044" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:05.069296" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:05.069460" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:05.057357" elapsed="0.012141"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:05.070091" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:05.069624" elapsed="0.000548"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:05.073506" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:05.070414" elapsed="0.003246"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:05.070209" elapsed="0.003503"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:05.069591" elapsed="0.004155"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:05.073935" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:05.074671" elapsed="0.003365"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:05.074467" elapsed="0.003643"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:05.081738" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:05.078477" elapsed="0.003378">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:05.078263" elapsed="0.003698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:05.074278" elapsed="0.007772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:05.056711" elapsed="0.025501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:05.044707" elapsed="0.037666">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:07.084492" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:07.083839" elapsed="0.000702"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:07.085239" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:07.084717" elapsed="0.000642"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:07.084684" elapsed="0.000729"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:07.108158" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:07.108542" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:07.108905" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:07.095792" elapsed="0.013172"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:07.109957" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:07.109193" elapsed="0.000886"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:07.115829" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:07.110466" elapsed="0.005525"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:07.110131" elapsed="0.005947"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:07.109132" elapsed="0.006997"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:07.116487" elapsed="0.000420"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:07.117712" elapsed="0.005015"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:07.117401" elapsed="0.005430"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:07.128501" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:07.123362" elapsed="0.005394">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:07.123024" elapsed="0.005899">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:07.117043" elapsed="0.012013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:07.095106" elapsed="0.034246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:07.083072" elapsed="0.046545">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:09.132564" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:09.131551" elapsed="0.001116"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:09.133459" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:09.132842" elapsed="0.000864"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:09.132798" elapsed="0.000970"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:09.162184" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:09.162539" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:09.162778" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:09.148494" elapsed="0.014338"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:09.163669" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:09.162997" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:09.168914" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:09.164113" elapsed="0.004910"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:09.163839" elapsed="0.005256"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:09.162954" elapsed="0.006197"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:09.169503" elapsed="0.000428"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:09.170625" elapsed="0.004656"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:09.170345" elapsed="0.005052"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:09.181109" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:09.175955" elapsed="0.005339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:09.175613" elapsed="0.005832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:09.170048" elapsed="0.011520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:09.147565" elapsed="0.034247">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:09.130600" elapsed="0.051493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:11.185068" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:11.184137" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:11.185939" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:11.185343" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:11.185296" elapsed="0.000826"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:11.218339" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:11.218686" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:11.218935" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:11.204542" elapsed="0.014450"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:11.219928" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:11.219197" elapsed="0.000857"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:11.225429" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:11.220452" elapsed="0.005091"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:11.220126" elapsed="0.005491"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:11.219130" elapsed="0.006568"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:11.225977" elapsed="0.000389"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:11.227278" elapsed="0.004674"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:11.226834" elapsed="0.005200"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:11.237002" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:11.232476" elapsed="0.004684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:11.232230" elapsed="0.005106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:11.226486" elapsed="0.011063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:11.203533" elapsed="0.034267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:11.183112" elapsed="0.054887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:13.240761" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:13.239866" elapsed="0.000961"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:13.241566" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:13.240999" elapsed="0.000722"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:13.240956" elapsed="0.000817"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:13.271294" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:13.271604" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:13.271860" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:13.256626" elapsed="0.015289"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:13.272827" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:13.272103" elapsed="0.000843"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:13.277750" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:13.273288" elapsed="0.004571"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:13.272996" elapsed="0.004933"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:13.272055" elapsed="0.005920"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:13.278257" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:13.279301" elapsed="0.005194"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:13.279018" elapsed="0.005558"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:13.289621" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:13.285026" elapsed="0.004874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:13.284772" elapsed="0.005293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:13.278753" elapsed="0.011502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:13.255625" elapsed="0.034847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:13.238960" elapsed="0.051739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:15.293520" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:15.292575" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:15.294465" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:15.293795" elapsed="0.000838"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:15.293751" elapsed="0.000991"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:15.319063" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:15.319384" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:15.319583" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:15.308841" elapsed="0.010796"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:15.320448" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:15.319829" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:15.325252" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:15.320904" elapsed="0.004545"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:15.320616" elapsed="0.004904"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:15.319788" elapsed="0.005776"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:15.325852" elapsed="0.000387"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:15.326917" elapsed="0.004649"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:15.326618" elapsed="0.005058"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:15.336626" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:15.332096" elapsed="0.004729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:15.331846" elapsed="0.005168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:15.326354" elapsed="0.010817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:15.307929" elapsed="0.029456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:15.291622" elapsed="0.045984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:17.339995" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:17.339078" elapsed="0.000983"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:17.340812" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:17.340259" elapsed="0.000675"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:17.340213" elapsed="0.000771"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:17.368822" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:17.369177" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:17.369572" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:17.356207" elapsed="0.013429"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:17.370560" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:17.369872" elapsed="0.000841"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:17.375528" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:17.371037" elapsed="0.004596"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:17.370764" elapsed="0.004973"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:17.369822" elapsed="0.005959"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:17.376040" elapsed="0.000414"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:17.377144" elapsed="0.005047"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:17.376865" elapsed="0.005413"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:17.387280" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:17.382724" elapsed="0.004712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:17.382444" elapsed="0.005142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:17.376570" elapsed="0.011171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:17.355265" elapsed="0.032709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:17.338414" elapsed="0.049789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:19.390071" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:19.389549" elapsed="0.000592"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:19.390566" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:19.390260" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:19.390230" elapsed="0.000523"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:19.408995" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:19.409208" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:19.409324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:19.398670" elapsed="0.010683"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:19.409799" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:19.409444" elapsed="0.000425"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:19.412519" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:19.410055" elapsed="0.002524"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:19.409900" elapsed="0.002718"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:19.409421" elapsed="0.003239"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:19.412817" elapsed="0.000197"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:19.413373" elapsed="0.002678"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:19.413243" elapsed="0.002854"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:19.418993" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:19.416374" elapsed="0.002709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:19.416235" elapsed="0.002955">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:19.413082" elapsed="0.006179">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:19.398184" elapsed="0.021195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:19.388943" elapsed="0.030592">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:21.422193" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:21.421324" elapsed="0.000932"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:21.422983" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:21.422429" elapsed="0.000701"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:21.422385" elapsed="0.000796"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:21.449609" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:21.449952" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:21.450179" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:21.437104" elapsed="0.013129"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:21.451077" elapsed="0.000071"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:21.450397" elapsed="0.000819"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:21.456133" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:21.451520" elapsed="0.004720"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:21.451265" elapsed="0.005044"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:21.450355" elapsed="0.005998"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:21.456607" elapsed="0.000394"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:21.457696" elapsed="0.004536"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:21.457420" elapsed="0.004893"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:21.467255" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:21.462755" elapsed="0.004652">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:21.462478" elapsed="0.005089">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:21.457139" elapsed="0.010676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:21.436215" elapsed="0.031814">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:21.420421" elapsed="0.047824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:23.470894" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:23.470032" elapsed="0.000927"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:23.471704" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:23.471157" elapsed="0.000666"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:23.471111" elapsed="0.000761"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:23.500116" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:23.500436" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:23.500713" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:23.486448" elapsed="0.014323"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:23.501673" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:23.500957" elapsed="0.000840"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:23.506545" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:23.502138" elapsed="0.004545"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:23.501849" elapsed="0.004905"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:23.500908" elapsed="0.005891"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:23.507057" elapsed="0.000369"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:23.508160" elapsed="0.004696"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:23.507836" elapsed="0.005111"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:23.518355" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:23.513394" elapsed="0.005219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:23.513146" elapsed="0.005651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:23.507540" elapsed="0.011408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:23.485525" elapsed="0.033693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:23.469182" elapsed="0.050285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:25.522192" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:25.521235" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:25.522982" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:25.522429" elapsed="0.000691"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:25.522386" elapsed="0.000788"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:25.550311" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:25.550796" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:25.550999" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:25.537579" elapsed="0.013491"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:25.551887" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:25.551233" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:25.557241" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:25.552333" elapsed="0.005112"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:25.552075" elapsed="0.005446"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:25.551193" elapsed="0.006378"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:25.557888" elapsed="0.000393"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:25.558931" elapsed="0.004696"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:25.558680" elapsed="0.005066"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:25.569247" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:25.564218" elapsed="0.005194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:25.563924" elapsed="0.005649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:25.558393" elapsed="0.011350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:25.536702" elapsed="0.033268">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:25.520352" elapsed="0.049856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:27.572879" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:27.571980" elapsed="0.000962"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:27.573737" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:27.573178" elapsed="0.000678"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:27.573115" elapsed="0.000791"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:27.601132" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:27.601451" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:27.601804" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:27.587938" elapsed="0.013922"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:27.602768" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:27.602073" elapsed="0.000813"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:27.607783" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:27.603222" elapsed="0.004670"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:27.602937" elapsed="0.005026"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:27.602002" elapsed="0.006007"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:27.608299" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:27.609328" elapsed="0.004506"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:27.609072" elapsed="0.004845"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:27.618937" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:27.614412" elapsed="0.004700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:27.614155" elapsed="0.005108">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:27.608790" elapsed="0.010598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:27.586953" elapsed="0.032646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:27.571148" elapsed="0.048684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:29.622743" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:29.621766" elapsed="0.001059"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:29.623633" elapsed="0.000090"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:29.623046" elapsed="0.000877"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:29.622964" elapsed="0.001025"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:29.653786" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:29.654103" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:29.654329" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:29.639143" elapsed="0.015239"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:29.655265" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:29.654542" elapsed="0.000842"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:29.660100" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:29.655722" elapsed="0.004485"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:29.655435" elapsed="0.004842"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:29.654502" elapsed="0.005822"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:29.660585" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:29.661618" elapsed="0.004936"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:29.661370" elapsed="0.005265"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:29.671912" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:29.667139" elapsed="0.004975">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:29.666857" elapsed="0.005409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:29.661110" elapsed="0.011277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:29.638189" elapsed="0.034410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:29.620826" elapsed="0.052103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:31.675768" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:31.674851" elapsed="0.000984"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:31.676592" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:31.676038" elapsed="0.000715"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:31.675966" elapsed="0.000840"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:31.706048" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:31.706376" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:31.706618" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:31.691428" elapsed="0.015289"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:31.707728" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:31.707020" elapsed="0.000832"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:31.713266" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:31.708224" elapsed="0.005153"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:31.707904" elapsed="0.005548"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:31.706951" elapsed="0.006546"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:31.713789" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:31.714874" elapsed="0.004613"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:31.714587" elapsed="0.004982"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:31.724713" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:31.720047" elapsed="0.004823">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:31.719774" elapsed="0.005280">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:31.714288" elapsed="0.010989">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:31.690399" elapsed="0.035095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:31.673919" elapsed="0.051815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:33.728906" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:33.727821" elapsed="0.001179"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:33.729842" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:33.729255" elapsed="0.000793"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:33.729202" elapsed="0.000906"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:33.758287" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:33.758636" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:33.758913" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:33.746156" elapsed="0.012839"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:33.760232" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:33.759237" elapsed="0.001152"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:33.765713" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:33.760764" elapsed="0.005062"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:33.760443" elapsed="0.005454"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:33.759180" elapsed="0.006762"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:33.766234" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:33.767367" elapsed="0.004896"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:33.767101" elapsed="0.005245"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:33.777636" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:33.772804" elapsed="0.005212">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:33.772516" elapsed="0.005666">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:33.766745" elapsed="0.011623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:33.744860" elapsed="0.033746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:33.726768" elapsed="0.052078">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:35.780911" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:35.780338" elapsed="0.000637"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:35.781430" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:35.781093" elapsed="0.000412"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:35.781064" elapsed="0.000474"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:35.801376" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:35.801575" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:35.801746" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:35.790889" elapsed="0.010891"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:35.802294" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:35.801882" elapsed="0.000485"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:35.807572" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:35.802710" elapsed="0.005093"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:35.802399" elapsed="0.005484"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:35.801857" elapsed="0.006075"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:35.808359" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:35.809453" elapsed="0.005088"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:35.809188" elapsed="0.005442"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:35.820233" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:35.815138" elapsed="0.005254">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:35.814844" elapsed="0.005707">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:35.808885" elapsed="0.011854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:35.790258" elapsed="0.030728">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:35.779696" elapsed="0.041565">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:37.824130" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:37.823167" elapsed="0.001029"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:37.825023" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:37.824375" elapsed="0.000781"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:37.824331" elapsed="0.000876"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:37.851587" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:37.851967" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:37.852265" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:37.839631" elapsed="0.012690"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:37.853190" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:37.852499" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:37.858560" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:37.853698" elapsed="0.005010"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:37.853365" elapsed="0.005437"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:37.852447" elapsed="0.006403"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:37.859145" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:37.860260" elapsed="0.004787"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:37.860007" elapsed="0.005126"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:37.870290" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:37.865556" elapsed="0.004896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:37.865304" elapsed="0.005307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:37.859680" elapsed="0.011097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:37.838722" elapsed="0.032306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:37.822226" elapsed="0.049032">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:39.873479" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:39.872833" elapsed="0.000696"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:39.874078" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:39.873688" elapsed="0.000556"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:39.873632" elapsed="0.000657"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:39.895892" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:39.896199" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:39.896378" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:39.883944" elapsed="0.012469"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:39.897091" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:39.896556" elapsed="0.000623"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:39.900658" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:39.897431" elapsed="0.003311"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:39.897218" elapsed="0.003579"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:39.896518" elapsed="0.004313"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:39.901052" elapsed="0.000251"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:39.901782" elapsed="0.003167"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:39.901574" elapsed="0.003441"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:39.908394" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:39.905340" elapsed="0.003170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:39.905141" elapsed="0.003474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:39.901386" elapsed="0.007339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:39.883143" elapsed="0.025733">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:39.872130" elapsed="0.036971">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:41.911112" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:41.910470" elapsed="0.000689"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:41.911700" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:41.911306" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:41.911274" elapsed="0.000554"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:41.935316" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:41.935573" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:41.935809" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:41.921719" elapsed="0.014132"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:41.936532" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:41.936020" elapsed="0.000601"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:41.939951" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:41.936926" elapsed="0.003097"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:41.936690" elapsed="0.003377"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:41.935979" elapsed="0.004115"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:41.940269" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:41.940945" elapsed="0.002871"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:41.940757" elapsed="0.003109"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:41.947020" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:41.944136" elapsed="0.002990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:41.943983" elapsed="0.003233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:41.940575" elapsed="0.006784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:41.921102" elapsed="0.026407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:41.909850" elapsed="0.037813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:43.949503" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:43.948987" elapsed="0.000556"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:43.950065" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:43.949685" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:43.949631" elapsed="0.000537"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:43.972364" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:43.972632" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:43.972845" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:43.958824" elapsed="0.014076"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:43.973557" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:43.973053" elapsed="0.000583"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:43.977059" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:43.973923" elapsed="0.003208"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:43.973690" elapsed="0.003488"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:43.973011" elapsed="0.004194"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:43.977370" elapsed="0.000224"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:43.978036" elapsed="0.002877"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:43.977848" elapsed="0.003118"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:43.984097" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:43.981238" elapsed="0.003022">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:43.981075" elapsed="0.003277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:43.977684" elapsed="0.006742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:43.958252" elapsed="0.026306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:43.948345" elapsed="0.036350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:45.986660" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:45.986070" elapsed="0.000637"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:45.987194" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:45.986827" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:45.986798" elapsed="0.000510"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:46.007608" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:46.007898" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:46.008049" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:45.996059" elapsed="0.012025"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:46.008672" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:46.008214" elapsed="0.000537"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:46.011823" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:46.008990" elapsed="0.002979"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:46.008789" elapsed="0.003225"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:46.008180" elapsed="0.003860"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:46.012199" elapsed="0.000222"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:46.012870" elapsed="0.002859"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:46.012687" elapsed="0.003098"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:46.019110" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:46.016087" elapsed="0.003122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:46.015912" elapsed="0.003387">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:46.012497" elapsed="0.006876">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:45.995509" elapsed="0.023993">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:45.985407" elapsed="0.034221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:48.021378" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:48.020948" elapsed="0.000464"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:48.021774" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:48.021503" elapsed="0.000343"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:48.021480" elapsed="0.000390"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:48.040091" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:48.040246" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:48.040412" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:48.029530" elapsed="0.010907"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:48.040857" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:48.040527" elapsed="0.000386"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:48.043018" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:48.041052" elapsed="0.002016"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:48.040938" elapsed="0.002163"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:48.040500" elapsed="0.002622"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:48.043238" elapsed="0.000161"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:48.043702" elapsed="0.002030"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:48.043573" elapsed="0.002197"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:48.048035" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:48.045972" elapsed="0.002143">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:48.045860" elapsed="0.002333">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:48.043451" elapsed="0.004815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:48.029149" elapsed="0.019226">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:48.020426" elapsed="0.028038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:50.051134" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:50.050253" elapsed="0.000945"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:50.051945" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:50.051369" elapsed="0.000791"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:50.051324" elapsed="0.000892"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:50.083813" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:50.084115" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:50.084315" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:50.066517" elapsed="0.017850"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:50.085174" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:50.084526" elapsed="0.000765"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:50.090009" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:50.085597" elapsed="0.004519"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:50.085341" elapsed="0.004844"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:50.084486" elapsed="0.005746"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:50.090489" elapsed="0.000398"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:50.091513" elapsed="0.004837"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:50.091267" elapsed="0.005166"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:50.101610" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:50.096905" elapsed="0.004911">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:50.096601" elapsed="0.005371">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:50.091003" elapsed="0.011094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:50.065632" elapsed="0.036672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:50.049382" elapsed="0.053186">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:52.105501" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:52.104552" elapsed="0.001016"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:52.106371" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:52.105793" elapsed="0.000701"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:52.105730" elapsed="0.000817"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:52.136091" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:52.136407" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:52.136700" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:52.121605" elapsed="0.015194"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:52.137857" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:52.137020" elapsed="0.000966"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:52.142907" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:52.138333" elapsed="0.004683"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:52.138037" elapsed="0.005063"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:52.136968" elapsed="0.006190"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:52.143421" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:52.144495" elapsed="0.004804"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:52.144235" elapsed="0.005146"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:52.154293" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:52.149834" elapsed="0.004609">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:52.149542" elapsed="0.005051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:52.143947" elapsed="0.010916">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:52.120571" elapsed="0.034509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:52.103537" elapsed="0.051740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:54.158437" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:54.157383" elapsed="0.001123"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:54.159411" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:54.158774" elapsed="0.000772"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:54.158698" elapsed="0.000902"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:54.186345" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:54.186672" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:54.186946" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:54.175808" elapsed="0.011193"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:54.188068" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:54.187220" elapsed="0.000978"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:54.193135" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:54.188510" elapsed="0.004735"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:54.188249" elapsed="0.005070"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:54.187151" elapsed="0.006213"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:54.193625" elapsed="0.000433"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:54.194781" elapsed="0.005030"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:54.194467" elapsed="0.005437"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:54.205192" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:54.200371" elapsed="0.005117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:54.200080" elapsed="0.005604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:54.194195" elapsed="0.011643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:54.174873" elapsed="0.031181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:54.156341" elapsed="0.049915">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:56.209151" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:56.208178" elapsed="0.001037"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:56.209991" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:56.209384" elapsed="0.000725"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:56.209340" elapsed="0.000820"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:56.235209" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:56.235511" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:56.235763" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:56.224516" elapsed="0.011301"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:56.236553" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:56.235974" elapsed="0.000719"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:56.241498" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:56.237017" elapsed="0.004734"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:56.236765" elapsed="0.005058"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:56.235935" elapsed="0.005932"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:56.242120" elapsed="0.000334"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:56.243113" elapsed="0.004975"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:56.242869" elapsed="0.005324"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:56.253215" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:56.248612" elapsed="0.004761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:56.248365" elapsed="0.005155">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:56.242565" elapsed="0.011173">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:56.223635" elapsed="0.030392">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:56.207224" elapsed="0.047001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:45:58.257050" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:45:58.256098" elapsed="0.001025"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:45:58.257875" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:58.257297" elapsed="0.000696"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:58.257252" elapsed="0.000790"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:45:58.283307" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:45:58.283600" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:45:58.283966" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:45:58.272322" elapsed="0.011701"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:45:58.284939" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:45:58.284188" elapsed="0.000899"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:45:58.289867" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:45:58.285403" elapsed="0.004573"/>
</kw>
<status status="PASS" start="2026-09-12T23:45:58.285139" elapsed="0.004913"/>
</branch>
<status status="PASS" start="2026-09-12T23:45:58.284148" elapsed="0.005968"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:45:58.290399" elapsed="0.000434"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:45:58.291460" elapsed="0.004755"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:45:58.291216" elapsed="0.005089"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:45:58.301263" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:45:58.296800" elapsed="0.004621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:45:58.296488" elapsed="0.005082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:45:58.290954" elapsed="0.010789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:45:58.271324" elapsed="0.030627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:45:58.255186" elapsed="0.046959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:00.303792" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:00.303326" elapsed="0.000499"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:00.304171" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:00.303920" elapsed="0.000376"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:00.303896" elapsed="0.000428"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:00.320734" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:00.320918" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:00.321026" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:00.311009" elapsed="0.010041"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:00.321413" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:00.321121" elapsed="0.000345"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:00.323574" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:00.321615" elapsed="0.002006"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:00.321489" elapsed="0.002192"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:00.321103" elapsed="0.002600"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:00.323819" elapsed="0.000174"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:00.324291" elapsed="0.002077"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:00.324178" elapsed="0.002227"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:00.328684" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:00.326591" elapsed="0.002201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:00.326479" elapsed="0.002390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:00.324050" elapsed="0.004877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:00.310465" elapsed="0.018561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:00.302833" elapsed="0.026338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:02.332062" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:02.331042" elapsed="0.001087"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:02.332908" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:02.332306" elapsed="0.000731"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:02.332261" elapsed="0.000829"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:02.358939" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:02.359238" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:02.359434" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:02.347040" elapsed="0.012446"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:02.360281" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:02.359686" elapsed="0.000713"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:02.365033" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:02.360744" elapsed="0.004393"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:02.360448" elapsed="0.004761"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:02.359605" elapsed="0.005649"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:02.365506" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:02.366507" elapsed="0.004924"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:02.366263" elapsed="0.005253"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:02.376695" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:02.372017" elapsed="0.004828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:02.371751" elapsed="0.005245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:02.366004" elapsed="0.011214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:02.346170" elapsed="0.031263">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:02.330094" elapsed="0.047537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:04.380443" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:04.379518" elapsed="0.000990"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:04.381284" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:04.380755" elapsed="0.000649"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:04.380707" elapsed="0.000749"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:04.407358" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:04.407770" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:04.407992" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:04.396356" elapsed="0.011689"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:04.408885" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:04.408209" elapsed="0.000795"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:04.413696" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:04.409321" elapsed="0.004489"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:04.409053" elapsed="0.004826"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:04.408166" elapsed="0.005758"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:04.414180" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:04.415207" elapsed="0.005128"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:04.414962" elapsed="0.005492"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:04.425983" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:04.421141" elapsed="0.005097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:04.420765" elapsed="0.005626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:04.414692" elapsed="0.011824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:04.395291" elapsed="0.031492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:04.378592" elapsed="0.048398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:06.429014" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:06.428368" elapsed="0.000691"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:06.429568" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:06.429183" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:06.429149" elapsed="0.000580"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:06.450151" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:06.450471" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:06.450779" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:06.439734" elapsed="0.011103"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:06.451724" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:06.451015" elapsed="0.000837"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:06.456926" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:06.452199" elapsed="0.004921"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:06.451908" elapsed="0.005289"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:06.450970" elapsed="0.006276"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:06.457527" elapsed="0.000422"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:06.458667" elapsed="0.004823"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:06.458349" elapsed="0.005227"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:06.469177" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:06.464076" elapsed="0.005263">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:06.463809" elapsed="0.005687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:06.458070" elapsed="0.011610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:06.439104" elapsed="0.030803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:06.427756" elapsed="0.042365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:08.471614" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:08.471200" elapsed="0.000464"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:08.472003" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:08.471754" elapsed="0.000302"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:08.471730" elapsed="0.000349"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:08.494338" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:08.494715" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:08.495015" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:08.482710" elapsed="0.012360"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:08.495895" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:08.495232" elapsed="0.000784"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:08.500730" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:08.496318" elapsed="0.004521"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:08.496064" elapsed="0.004847"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:08.495192" elapsed="0.005763"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:08.501213" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:08.502246" elapsed="0.005064"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:08.502001" elapsed="0.005398"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:08.512730" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:08.507930" elapsed="0.004963">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:08.507590" elapsed="0.005455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:08.501738" elapsed="0.011438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:08.481718" elapsed="0.031707">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:08.470758" elapsed="0.042927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:10.516593" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:10.515684" elapsed="0.001007"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:10.517434" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:10.516876" elapsed="0.000836"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:10.516829" elapsed="0.000944"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:10.543599" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:10.543966" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:10.544176" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:10.532303" elapsed="0.011925"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:10.545110" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:10.544393" elapsed="0.000841"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:10.550154" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:10.545566" elapsed="0.004718"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:10.545285" elapsed="0.005077"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:10.544352" elapsed="0.006056"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:10.550760" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:10.551867" elapsed="0.004595"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:10.551582" elapsed="0.004990"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:10.561970" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:10.557062" elapsed="0.005067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:10.556782" elapsed="0.005502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:10.551284" elapsed="0.011125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:10.531373" elapsed="0.031356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:10.514706" elapsed="0.048310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:12.566067" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:12.565115" elapsed="0.001018"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:12.566893" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:12.566310" elapsed="0.000706"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:12.566264" elapsed="0.000802"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:12.595485" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:12.595937" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:12.596200" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:12.582486" elapsed="0.013770"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:12.597222" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:12.596448" elapsed="0.000900"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:12.602195" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:12.597743" elapsed="0.004557"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:12.597402" elapsed="0.004969"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:12.596399" elapsed="0.006016"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:12.602721" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:12.603907" elapsed="0.004855"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:12.603553" elapsed="0.005316"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:12.614054" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:12.609300" elapsed="0.004972">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:12.609049" elapsed="0.005397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:12.603235" elapsed="0.011512">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:12.581448" elapsed="0.033584">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:12.564140" elapsed="0.051102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:14.617928" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:14.617093" elapsed="0.000897"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:14.618704" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:14.618152" elapsed="0.000666"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:14.618112" elapsed="0.000755"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:14.643833" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:14.644123" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:14.644320" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:14.632573" elapsed="0.011797"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:14.645188" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:14.644564" elapsed="0.000737"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:14.650335" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:14.645622" elapsed="0.004819"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:14.645350" elapsed="0.005186"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:14.644522" elapsed="0.006060"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:14.650866" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:14.651876" elapsed="0.004416"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:14.651601" elapsed="0.004770"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:14.661292" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:14.656832" elapsed="0.004725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:14.656557" elapsed="0.005184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:14.651316" elapsed="0.010550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:14.631723" elapsed="0.030348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:14.616245" elapsed="0.046018">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:16.665092" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:16.664163" elapsed="0.000996"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:16.665989" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:16.665343" elapsed="0.000769"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:16.665286" elapsed="0.000877"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:16.692549" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:16.692898" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:16.693143" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:16.681221" elapsed="0.012003"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:16.694360" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:16.693446" elapsed="0.001125"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:16.700218" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:16.695052" elapsed="0.005361"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:16.694686" elapsed="0.005820"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:16.693386" elapsed="0.007166"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:16.700851" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:16.701876" elapsed="0.004682"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:16.701597" elapsed="0.005070"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:16.711930" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:16.707077" elapsed="0.005017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:16.706834" elapsed="0.005411">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:16.701314" elapsed="0.011051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:16.680278" elapsed="0.032327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:16.663221" elapsed="0.049636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:18.715908" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:18.714906" elapsed="0.001089"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:18.716849" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:18.716199" elapsed="0.000788"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:18.716150" elapsed="0.000903"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:18.744928" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:18.745255" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:18.745713" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:18.732228" elapsed="0.013547"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:18.746719" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:18.745962" elapsed="0.000886"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:18.751902" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:18.747163" elapsed="0.004846"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:18.746900" elapsed="0.005179"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:18.745917" elapsed="0.006207"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:18.752380" elapsed="0.000402"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:18.753412" elapsed="0.004457"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:46:18.753157" elapsed="0.004792"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:18.762976" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:18.758353" elapsed="0.004774">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:46:18.758110" elapsed="0.005165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:18.752897" elapsed="0.010499">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:18.731166" elapsed="0.032463">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:18.713906" elapsed="0.049955">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-09-12T23:46:18.764083" level="FAIL">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-12T23:44:48.604912" elapsed="90.159480">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-12T23:46:18.764819" elapsed="0.000047"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:18.766613" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-12T23:46:19.104391" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:46:19.104836" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:46:19.104934" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:46:19.105024" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:18.766233" elapsed="0.338839"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:19.106275" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:19.105581" elapsed="0.000784"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.107114" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-12T23:46:19.473465" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:46:19.473841" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:46:19.473950" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:46:19.474037" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:19.106748" elapsed="0.367336"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.474935" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-12T23:46:19.564260" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:46:19.564763" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-12T23:46:19.564915" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:46:19.565039" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:19.474503" elapsed="0.090604"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.565985" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-12T23:46:19.619788" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:19.565700" elapsed="0.054286"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:19.640765" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:19.640893" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:19.641110" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:19.620368" elapsed="0.020794"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:19.662072" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 path_url=/rests/data/netconf-keystore:keystore 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0dtfvnmy6vtk71s5rxusp34cpc0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:19.662361" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:46:19.662628" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:19.641527" elapsed="0.021186"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-12T23:46:18.765522" elapsed="0.897346"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-12T23:44:46.769095" elapsed="92.893870">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCSqglOGOO3Jq72B9wMpCTjlyyvG/Ok3NShSgegGYMjZrZw5qL7+CJY+/0+2nKL0hQ78gCM/Jn6lPcNH7mk/8j1BaINQpIlx4G/WpMJMkqZXqwZM+Vtry59Pwko4iHO6eT4u4OJl9tvN/0C25s2Uy4f3MTCbqvdhDFvRP+TQambGuK1dt5GpYbqzh/lnwF9ZLm8WsNN8rgmksAMrI4o7PUQgHGTDb6UsBYXwFiaq2IHvGY9EHg3yBxntWRyDoWm9Uxyx8LUGCC/BoyBjcpaA8xpwj1cOQdC+GE5YJpJtWzwXTQng1pEVRATez1cq2ixBwjwv7AAICYYX7fMPNZkh5FP","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t2" name="CallHome over SSH with incorrect device credentials" line="34">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:19.666514" level="INFO">Creating Session using : alias=session, url=http://10.30.170.178:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7dde60a91b90&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-12T23:46:19.665915" elapsed="0.000954"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.667372" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-12T23:46:19.681015" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:19.667165" elapsed="0.014008"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.681813" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:46:19.882229" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:19.681533" elapsed="0.200939"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.883150" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-12T23:46:19.939497" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:46:19.939780" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:19.882897" elapsed="0.056940"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:46:19.948881" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:46:19.940213" elapsed="0.008792"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-12T23:46:19.665137" elapsed="0.284003"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.988704" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:46:19.950152" elapsed="0.038710"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:46:19.999455" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:46:19.989215" elapsed="0.010359"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-12T23:46:19.949533" elapsed="0.050205"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-12T23:46:20.008257" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:20.001075" elapsed="0.007292"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:46:20.009695" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:46:20.010012" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:46:20.009337" elapsed="0.000730"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:46:20.011199" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:46:20.010398" elapsed="0.000892"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:20.008796" elapsed="0.002610"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:20.008449" elapsed="0.003034"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:20.001027" elapsed="0.010500"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:46:20.012363" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:46:20.011856" elapsed="0.000592"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:46:20.013271" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:46:20.012778" elapsed="0.000550"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:46:20.014285" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:46:20.013784" elapsed="0.000557"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:46:20.015187" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:46:20.014694" elapsed="0.000548"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:20.041340" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '615', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "incorrect" ]
          },
          "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ"
        }
    }
}
 
 </msg>
<msg time="2026-09-12T23:46:20.041486" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 11-Sep-2026 23:46:20 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:20.041743" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:20.015541" elapsed="0.026263"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:46:20.042127" elapsed="0.004644"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-12T23:46:20.000264" elapsed="0.046663"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:46:20.047615" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-12T23:46:20.375011" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:46:20.375370" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:46:20.375498" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:46:20.375587" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:46:20.047231" elapsed="0.328403"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:20.379170" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:20.378324" elapsed="0.000906"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:20.380041" elapsed="0.000509"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:20.379442" elapsed="0.001188"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:20.379369" elapsed="0.001353"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:20.405376" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:20.405555" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:20.405678" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:20.395123" elapsed="0.010580"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:20.406077" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:20.405781" elapsed="0.000350"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:20.408343" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:20.406364" elapsed="0.002027"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:20.406206" elapsed="0.002232"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:20.405762" elapsed="0.002697"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:20.408576" elapsed="0.000175"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:20.411138" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:20.409055" elapsed="0.002163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:20.408929" elapsed="0.002361">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:20.408805" elapsed="0.002541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:20.394719" elapsed="0.016738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:20.377548" elapsed="0.034000">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:22.414212" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:22.413300" elapsed="0.000985"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:22.415057" elapsed="0.000494"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:22.414490" elapsed="0.001176"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:22.414442" elapsed="0.001283"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:22.441201" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:22.441526" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:22.441851" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:22.430028" elapsed="0.011876"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:22.442763" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:22.442062" elapsed="0.000825"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:22.447536" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:22.443194" elapsed="0.004477"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:22.442937" elapsed="0.004808"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:22.442023" elapsed="0.005767"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:22.448050" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:22.454176" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:22.449073" elapsed="0.005281">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:22.448825" elapsed="0.005739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:22.448532" elapsed="0.006203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:22.429099" elapsed="0.025860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:22.412403" elapsed="0.042792">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:24.457928" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:24.457031" elapsed="0.000962"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:24.458747" elapsed="0.000431"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:24.458165" elapsed="0.001092"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:24.458121" elapsed="0.001191"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:24.488726" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:24.489051" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:24.489283" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:24.474266" elapsed="0.015073"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:24.490263" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:24.489556" elapsed="0.000855"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:24.495216" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:24.490758" elapsed="0.004564"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:24.490463" elapsed="0.004950"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:24.489509" elapsed="0.005951"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:24.495747" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:24.501419" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:24.496772" elapsed="0.004802">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:24.496489" elapsed="0.005265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:24.496205" elapsed="0.005676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:24.473223" elapsed="0.028868">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:24.456144" elapsed="0.046146">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:26.505026" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:26.504159" elapsed="0.000931"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:26.505870" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:26.505284" elapsed="0.001143"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:26.505234" elapsed="0.001252"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:26.534625" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:26.535002" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:26.535252" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:26.521586" elapsed="0.013725"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:26.536193" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:26.535514" elapsed="0.000833"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:26.541455" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:26.536708" elapsed="0.004859"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:26.536404" elapsed="0.005271"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:26.535470" elapsed="0.006272"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:26.542011" elapsed="0.000383"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:26.547711" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:26.543058" elapsed="0.004814">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:26.542811" elapsed="0.005217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:26.542508" elapsed="0.005648">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:26.520626" elapsed="0.027784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:26.503297" elapsed="0.045516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:28.551721" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:28.550758" elapsed="0.001031"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:28.552575" elapsed="0.000469"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:28.551964" elapsed="0.001164"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:28.551919" elapsed="0.001271"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:28.580390" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:28.580753" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:28.580981" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:28.568752" elapsed="0.012283"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:28.581971" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:28.581222" elapsed="0.000873"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:28.587058" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:28.582438" elapsed="0.004726"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:28.582145" elapsed="0.005092"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:28.581177" elapsed="0.006104"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:28.587605" elapsed="0.000399"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:28.594037" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:28.588748" elapsed="0.005444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:28.588434" elapsed="0.005936">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:28.588121" elapsed="0.006379">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:28.567773" elapsed="0.027094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:28.549835" elapsed="0.045243">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:30.598148" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:30.597078" elapsed="0.001136"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:30.599206" elapsed="0.000528"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:30.598453" elapsed="0.001365"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:30.598391" elapsed="0.001481"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:30.628983" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:30.629441" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:30.629795" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:30.615383" elapsed="0.014491"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:30.631051" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:30.630129" elapsed="0.001075"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:30.636483" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:30.631707" elapsed="0.004908"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:30.631312" elapsed="0.005420"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:30.630066" elapsed="0.006714"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:30.637056" elapsed="0.000377"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:30.643039" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:30.638180" elapsed="0.005014">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:30.637911" elapsed="0.005458">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:30.637560" elapsed="0.006060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:30.614160" elapsed="0.029724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:30.596055" elapsed="0.048035">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:32.646825" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:32.645906" elapsed="0.000986"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:32.647675" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:32.647091" elapsed="0.001127"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:32.647044" elapsed="0.001253"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:32.676429" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:32.676800" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:32.677086" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:32.663494" elapsed="0.013656"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:32.678163" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:32.677387" elapsed="0.000933"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:32.683899" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:32.678699" elapsed="0.005327"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:32.678377" elapsed="0.005735"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:32.677336" elapsed="0.006826"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:32.684517" elapsed="0.000430"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:32.690968" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:32.685757" elapsed="0.005514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:32.685421" elapsed="0.006023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:32.685077" elapsed="0.006534">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:32.662513" elapsed="0.029375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:32.645010" elapsed="0.047098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:34.695178" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:34.694199" elapsed="0.001090"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:34.696322" elapsed="0.000601"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:34.695526" elapsed="0.001494"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:34.695465" elapsed="0.001632"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:34.725898" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:34.726300" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:34.726531" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:34.713974" elapsed="0.012641"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:34.727676" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:34.726863" elapsed="0.000940"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:34.733028" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:34.728158" elapsed="0.005157"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:34.727852" elapsed="0.005563"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:34.726813" elapsed="0.006670"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:34.733896" elapsed="0.000515"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:34.740828" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:34.735387" elapsed="0.005600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:34.734993" elapsed="0.006147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:34.734576" elapsed="0.006743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:34.712910" elapsed="0.028631">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:34.693152" elapsed="0.048622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:36.744968" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:36.743883" elapsed="0.001154"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:36.745889" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:36.745251" elapsed="0.001219"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:36.745169" elapsed="0.001355"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:36.776135" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:36.776383" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:36.776611" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:36.762776" elapsed="0.013896"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:36.777299" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:36.776810" elapsed="0.000568"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:36.780683" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:36.777594" elapsed="0.003161"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:36.777412" elapsed="0.003391"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:36.776775" elapsed="0.004057"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:36.781003" elapsed="0.000297"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:36.786940" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:36.781985" elapsed="0.005112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:36.781729" elapsed="0.005561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:36.781413" elapsed="0.006009">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:36.761534" elapsed="0.026130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:36.742819" elapsed="0.045060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:38.790782" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:38.789848" elapsed="0.001004"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:38.791613" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:38.791035" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:38.790989" elapsed="0.001260"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:38.820881" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:38.821211" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:38.821445" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:38.807796" elapsed="0.013706"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:38.822347" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:38.821703" elapsed="0.000768"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:38.827508" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:38.822829" elapsed="0.004790"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:38.822524" elapsed="0.005203"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:38.821628" elapsed="0.006150"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:38.828051" elapsed="0.000501"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:38.834293" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:38.829287" elapsed="0.005169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:38.828994" elapsed="0.005621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:38.828712" elapsed="0.006072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:38.806855" elapsed="0.028147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:38.788881" elapsed="0.046357">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:40.837607" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:40.836890" elapsed="0.000795"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:40.838192" elapsed="0.000365"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:40.837812" elapsed="0.000810"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:40.837778" elapsed="0.000909"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:40.859750" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:40.860077" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:40.860344" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:40.848787" elapsed="0.011612"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:40.861276" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:40.860602" elapsed="0.000780"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:40.865982" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:40.861734" elapsed="0.004356"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:40.861434" elapsed="0.004744"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:40.860547" elapsed="0.005677"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:40.866488" elapsed="0.000292"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:40.871066" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:40.867289" elapsed="0.003942">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:40.867055" elapsed="0.004310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:40.866864" elapsed="0.004615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:40.848160" elapsed="0.023542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:40.836157" elapsed="0.035819">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:42.873915" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:42.873375" elapsed="0.000580"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:42.874335" elapsed="0.000207"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:42.874052" elapsed="0.000540"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:42.874027" elapsed="0.000603"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:42.890933" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:42.891120" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:42.891234" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:42.881255" elapsed="0.010007"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:42.891724" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:42.891355" elapsed="0.000435"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:42.894153" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:42.891993" elapsed="0.002220"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:42.891818" elapsed="0.002433"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:42.891331" elapsed="0.002947"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:42.894417" elapsed="0.000212"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:42.897497" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:42.895008" elapsed="0.002584">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:42.894867" elapsed="0.002828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:42.894716" elapsed="0.003052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:42.880817" elapsed="0.017147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:42.872723" elapsed="0.025360">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:44.899571" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:44.899153" elapsed="0.000452"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:44.899966" elapsed="0.000216"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:44.899709" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:44.899686" elapsed="0.000559"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:44.918181" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:44.918387" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:44.918542" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:44.907136" elapsed="0.011441"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:44.919151" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:44.918718" elapsed="0.000515"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:44.922343" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:44.919470" elapsed="0.002957"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:44.919275" elapsed="0.003197"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:44.918689" elapsed="0.003812"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:44.922684" elapsed="0.000223"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:44.926253" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:44.923332" elapsed="0.003047">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:44.923169" elapsed="0.003420">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:44.922983" elapsed="0.003857">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:44.906582" elapsed="0.020542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:44.898687" elapsed="0.028657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:46.931138" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:46.929978" elapsed="0.001254"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:46.932180" elapsed="0.000537"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:46.931498" elapsed="0.001301"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:46.931431" elapsed="0.001432"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:46.961943" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:46.962409" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:46.962612" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:46.948737" elapsed="0.013957"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:46.963595" elapsed="0.000083"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:46.962851" elapsed="0.000899"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:46.969029" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:46.964104" elapsed="0.005085"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:46.963800" elapsed="0.005475"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:46.962813" elapsed="0.006519"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:46.969614" elapsed="0.000392"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:46.976460" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:46.970818" elapsed="0.005976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:46.970532" elapsed="0.006428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:46.970182" elapsed="0.006954">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:46.947756" elapsed="0.029665">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:46.928706" elapsed="0.048976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:48.982293" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:48.980875" elapsed="0.001522"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:48.983476" elapsed="0.000551"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:48.982708" elapsed="0.001400"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:48.982600" elapsed="0.001576"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:49.011337" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:49.011779" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:49.012069" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:48.998330" elapsed="0.013800"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:49.013180" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:49.012354" elapsed="0.000954"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:49.018322" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:49.013670" elapsed="0.004888"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:49.013369" elapsed="0.005310"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:49.012295" elapsed="0.006436"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:49.019042" elapsed="0.000378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:49.024971" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:49.020208" elapsed="0.004968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:49.019883" elapsed="0.005453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:49.019551" elapsed="0.005917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:48.997271" elapsed="0.028479">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:48.979249" elapsed="0.046710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:51.028861" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:51.027919" elapsed="0.001013"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:51.029792" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:51.029150" elapsed="0.001228"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:51.029102" elapsed="0.001333"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:51.059406" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:51.059765" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:51.060124" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:51.045408" elapsed="0.014772"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:51.061013" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:51.060339" elapsed="0.000793"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:51.065852" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:51.061433" elapsed="0.004529"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:51.061182" elapsed="0.004869"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:51.060300" elapsed="0.005796"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:51.066348" elapsed="0.000427"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:51.072505" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:51.067478" elapsed="0.005224">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:51.067194" elapsed="0.005663">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:51.066898" elapsed="0.006103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:51.044515" elapsed="0.028713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:51.026969" elapsed="0.046483">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:53.076005" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:53.075134" elapsed="0.000934"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:53.076765" elapsed="0.000433"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:53.076239" elapsed="0.001033"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:53.076192" elapsed="0.001134"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:53.100422" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:53.100679" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:53.100845" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:53.089283" elapsed="0.011611"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:53.101569" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:53.101093" elapsed="0.000586"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:53.104876" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:53.101940" elapsed="0.003046"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:53.101714" elapsed="0.003323"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:53.101057" elapsed="0.004011"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:53.105245" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:53.109505" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:53.105975" elapsed="0.003641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:53.105781" elapsed="0.003969">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:53.105561" elapsed="0.004318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:53.088425" elapsed="0.021661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:53.074219" elapsed="0.035996">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:55.112197" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:55.111547" elapsed="0.000695"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:55.112814" elapsed="0.000327"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:55.112355" elapsed="0.000837"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:55.112326" elapsed="0.000902"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:55.132906" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:55.133146" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:55.133279" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:55.122097" elapsed="0.011218"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:55.133829" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:55.133417" elapsed="0.000490"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:55.136888" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:55.134138" elapsed="0.002836"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:55.133960" elapsed="0.003058"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:55.133392" elapsed="0.003654"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:55.137217" elapsed="0.000230"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:55.140796" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:55.137884" elapsed="0.003017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:55.137714" elapsed="0.003299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:55.137521" elapsed="0.003575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:55.121505" elapsed="0.019723">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:55.110977" elapsed="0.030465">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:57.144311" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:57.143420" elapsed="0.000955"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:57.145146" elapsed="0.000426"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:57.144551" elapsed="0.001134"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:57.144507" elapsed="0.001234"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:57.175117" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:57.175449" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:57.175749" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:57.162250" elapsed="0.013558"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:57.176754" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:57.176027" elapsed="0.000856"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:57.182039" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:57.177240" elapsed="0.004910"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:57.176971" elapsed="0.005252"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:57.175983" elapsed="0.006283"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:57.182553" elapsed="0.000635"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:57.189035" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:57.183985" elapsed="0.005239">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:57.183614" elapsed="0.005770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:57.183316" elapsed="0.006249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:57.161330" elapsed="0.028693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:57.142546" elapsed="0.047752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:46:59.192293" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:46:59.191708" elapsed="0.000639"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:46:59.192848" elapsed="0.000302"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:59.192483" elapsed="0.000720"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:59.192452" elapsed="0.000785"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:46:59.213060" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:46:59.213263" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:46:59.213394" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:46:59.202451" elapsed="0.010978"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:46:59.213992" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:46:59.213534" elapsed="0.000537"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:46:59.217054" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:46:59.214270" elapsed="0.002853"/>
</kw>
<status status="PASS" start="2026-09-12T23:46:59.214105" elapsed="0.003063"/>
</branch>
<status status="PASS" start="2026-09-12T23:46:59.213507" elapsed="0.003691"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:46:59.217361" elapsed="0.000223"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:46:59.221248" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:46:59.218063" elapsed="0.003291">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:46:59.217857" elapsed="0.003594">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:46:59.217681" elapsed="0.003920">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:46:59.201920" elapsed="0.019841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:59.191055" elapsed="0.030854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:01.223524" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:01.223094" elapsed="0.000465"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:01.223958" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:01.223679" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:01.223636" elapsed="0.000587"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:01.240667" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:01.240978" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:01.241145" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:01.230469" elapsed="0.010720"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:01.241905" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:01.241333" elapsed="0.000677"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:01.245321" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:01.242285" elapsed="0.003104"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:01.242054" elapsed="0.003381"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:01.241296" elapsed="0.004165"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:01.245629" elapsed="0.000278"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:01.249627" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:01.246314" elapsed="0.003591">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:01.246157" elapsed="0.003885">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:01.245986" elapsed="0.004180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:01.230089" elapsed="0.020275">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:01.222535" elapsed="0.028008">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:03.252740" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:03.252072" elapsed="0.000721"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:03.253339" elapsed="0.000295"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:03.252957" elapsed="0.000779"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:03.252922" elapsed="0.000862"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:03.276771" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:03.277110" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:03.277372" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:03.266485" elapsed="0.010942"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:03.278392" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:03.277627" elapsed="0.000892"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:03.283489" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:03.278920" elapsed="0.004803"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:03.278572" elapsed="0.005245"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:03.277576" elapsed="0.006287"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:03.284131" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:03.290050" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:03.285183" elapsed="0.005048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:03.284918" elapsed="0.005473">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:03.284598" elapsed="0.005918">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:03.265528" elapsed="0.025232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:03.251323" elapsed="0.039663">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:05.292787" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:05.292316" elapsed="0.000506"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:05.293212" elapsed="0.000210"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:05.292918" elapsed="0.000543"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:05.292892" elapsed="0.000594"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:05.308553" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:05.308750" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:05.308941" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:05.299799" elapsed="0.009168"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:05.309383" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:05.309066" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:05.311605" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:05.309588" elapsed="0.002084"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:05.309462" elapsed="0.002243"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:05.309043" elapsed="0.002682"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:05.311861" elapsed="0.000169"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:05.314599" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:05.312344" elapsed="0.002350">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:05.312225" elapsed="0.002541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:05.312093" elapsed="0.002751">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:05.299381" elapsed="0.015566">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:05.291837" elapsed="0.023201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:07.317125" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:07.316476" elapsed="0.000693"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:07.317636" elapsed="0.000318"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:07.317290" elapsed="0.000719"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:07.317260" elapsed="0.000784"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:07.337312" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:07.337589" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:07.337811" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:07.328363" elapsed="0.009485"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:07.338505" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:07.338008" elapsed="0.000580"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:07.341685" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:07.338841" elapsed="0.002926"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:07.338620" elapsed="0.003193"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:07.337970" elapsed="0.003881"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:07.342057" elapsed="0.000225"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:07.347456" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:07.342706" elapsed="0.004910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:07.342524" elapsed="0.005312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:07.342357" elapsed="0.005612">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:07.327737" elapsed="0.020446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:07.315862" elapsed="0.032525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:09.351332" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:09.350400" elapsed="0.000998"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:09.352309" elapsed="0.000536"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:09.351599" elapsed="0.001340"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:09.351542" elapsed="0.001451"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:09.382263" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:09.382611" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:09.382957" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:09.369300" elapsed="0.013718"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:09.384071" elapsed="0.000063"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:09.383216" elapsed="0.001007"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:09.389573" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:09.384755" elapsed="0.005052"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:09.384295" elapsed="0.005618"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:09.383167" elapsed="0.006809"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:09.390305" elapsed="0.000493"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:09.396773" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:09.391500" elapsed="0.005382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:09.391234" elapsed="0.005750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:09.390949" elapsed="0.006117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:09.368258" elapsed="0.028948">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:09.349394" elapsed="0.048000">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:11.400478" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:11.399450" elapsed="0.001096"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:11.401400" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:11.400813" elapsed="0.001167"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:11.400752" elapsed="0.001281"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:11.431705" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:11.432028" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:11.432240" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:11.419137" elapsed="0.013156"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:11.433188" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:11.432475" elapsed="0.000834"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:11.438134" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:11.433623" elapsed="0.004620"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:11.433360" elapsed="0.004955"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:11.432430" elapsed="0.005930"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:11.438618" elapsed="0.000410"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:11.444820" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:11.439714" elapsed="0.005295">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:11.439406" elapsed="0.005772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:11.439142" elapsed="0.006170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:11.417837" elapsed="0.027795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:11.398432" elapsed="0.047598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:13.448633" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:13.447811" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:13.449454" elapsed="0.000479"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:13.448925" elapsed="0.001090"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:13.448880" elapsed="0.001191"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:13.476315" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:13.476613" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:13.476888" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:13.464257" elapsed="0.012685"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:13.477744" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:13.477102" elapsed="0.000760"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:13.482530" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:13.478169" elapsed="0.004518"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:13.477913" elapsed="0.004848"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:13.477062" elapsed="0.005746"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:13.483069" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:13.489023" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:13.484119" elapsed="0.005090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:13.483843" elapsed="0.005560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:13.483527" elapsed="0.006171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:13.463349" elapsed="0.026593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:13.446937" elapsed="0.043234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:15.493179" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:15.492141" elapsed="0.001106"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:15.494087" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:15.493435" elapsed="0.001248"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:15.493384" elapsed="0.001359"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:15.522979" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:15.523269" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:15.523491" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:15.509972" elapsed="0.013573"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:15.524400" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:15.523789" elapsed="0.000730"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:15.529250" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:15.524883" elapsed="0.004474"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:15.524570" elapsed="0.004857"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:15.523742" elapsed="0.005729"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:15.529849" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:15.535741" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:15.530882" elapsed="0.005109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:15.530586" elapsed="0.005560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:15.530327" elapsed="0.005943">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:15.508866" elapsed="0.027610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:15.491139" elapsed="0.045750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:17.540526" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:17.539321" elapsed="0.001360"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:17.541682" elapsed="0.000561"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:17.540920" elapsed="0.001436"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:17.540860" elapsed="0.001579"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:17.577893" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:17.578221" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:17.578479" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:17.563488" elapsed="0.015051"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:17.579481" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:17.578786" elapsed="0.000844"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:17.585422" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:17.580006" elapsed="0.005747"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:17.579711" elapsed="0.006145"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:17.578737" elapsed="0.007183"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:17.586298" elapsed="0.000548"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:17.594869" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:17.587810" elapsed="0.007242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:17.587383" elapsed="0.007830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:17.587009" elapsed="0.008341">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:17.562219" elapsed="0.033347">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:17.538093" elapsed="0.057738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:19.598540" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:19.597720" elapsed="0.000910"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:19.599359" elapsed="0.000472"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:19.598832" elapsed="0.001079"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:19.598787" elapsed="0.001180"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:19.626337" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:19.626741" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:19.627050" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:19.614193" elapsed="0.012913"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:19.628040" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:19.627274" elapsed="0.000892"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:19.633086" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:19.628491" elapsed="0.004702"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:19.628218" elapsed="0.005048"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:19.627233" elapsed="0.006078"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:19.633598" elapsed="0.000413"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:19.639451" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:19.634706" elapsed="0.004963">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:19.634400" elapsed="0.005426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:19.634130" elapsed="0.005852">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:19.613256" elapsed="0.026940">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:19.596811" elapsed="0.043590">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:21.643093" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:21.642181" elapsed="0.000977"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:21.643925" elapsed="0.000426"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:21.643330" elapsed="0.001100"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:21.643285" elapsed="0.001198"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:21.672434" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:21.672835" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:21.673080" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:21.659130" elapsed="0.014005"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:21.674101" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:21.673303" elapsed="0.000926"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:21.679122" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:21.674616" elapsed="0.004618"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:21.674282" elapsed="0.005025"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:21.673261" elapsed="0.006097"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:21.679892" elapsed="0.000369"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:21.686158" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:21.680977" elapsed="0.005341">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:21.680671" elapsed="0.005807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:21.680381" elapsed="0.006327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:21.658133" elapsed="0.028803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:21.641291" elapsed="0.045841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:23.689996" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:23.689106" elapsed="0.000955"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:23.690799" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:23.690231" elapsed="0.001065"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:23.690188" elapsed="0.001162"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:23.717956" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:23.718123" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:23.718226" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:23.705418" elapsed="0.012833"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:23.718728" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:23.718350" elapsed="0.000435"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:23.720943" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:23.718959" elapsed="0.002032"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:23.718809" elapsed="0.002214"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:23.718325" elapsed="0.002718"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:23.721159" elapsed="0.000159"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:23.724252" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:23.721632" elapsed="0.002722">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:23.721492" elapsed="0.002961">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:23.721371" elapsed="0.003181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:23.704418" elapsed="0.020278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:23.688218" elapsed="0.036651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:25.727495" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:25.726612" elapsed="0.000949"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:25.728289" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:25.727763" elapsed="0.001082"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:25.727718" elapsed="0.001182"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:25.754307" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:25.754669" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:25.754872" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:25.742592" elapsed="0.012331"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:25.755750" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:25.755080" elapsed="0.000787"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:25.760612" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:25.756170" elapsed="0.004578"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:25.755916" elapsed="0.004904"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:25.755042" elapsed="0.005823"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:25.761121" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:25.766766" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:25.762134" elapsed="0.004804">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:25.761885" elapsed="0.005210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:25.761595" elapsed="0.005628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:25.741734" elapsed="0.025815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:25.725754" elapsed="0.042073">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:27.770817" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:27.769833" elapsed="0.001055"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:27.771731" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:27.771070" elapsed="0.001183"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:27.771022" elapsed="0.001287"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:27.800020" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:27.800322" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:27.800595" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:27.787347" elapsed="0.013340"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:27.801509" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:27.800855" elapsed="0.000781"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:27.806466" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:27.801987" elapsed="0.004603"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:27.801722" elapsed="0.004991"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:27.800814" elapsed="0.005949"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:27.807031" elapsed="0.000355"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:27.812869" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:27.808115" elapsed="0.004930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:27.807859" elapsed="0.005340">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:27.807530" elapsed="0.005967">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:27.786407" elapsed="0.027347">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:27.768868" elapsed="0.045123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:29.816911" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:29.815969" elapsed="0.001009"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:29.817785" elapsed="0.000450"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:29.817158" elapsed="0.001175"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:29.817114" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:29.844154" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:29.844516" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:29.844794" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:29.832779" elapsed="0.012073"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:29.845811" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:29.845025" elapsed="0.000911"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:29.851014" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:29.846283" elapsed="0.004840"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:29.845988" elapsed="0.005208"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:29.844982" elapsed="0.006276"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:29.851608" elapsed="0.000406"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:29.858195" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:29.852924" elapsed="0.005569">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:29.852528" elapsed="0.006158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:29.852141" elapsed="0.006679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:29.831871" elapsed="0.027167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:29.815006" elapsed="0.044233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:31.862109" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:31.861199" elapsed="0.000978"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:31.862945" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:31.862354" elapsed="0.001133"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:31.862309" elapsed="0.001233"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:31.890334" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:31.890699" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:31.890901" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:31.877875" elapsed="0.013080"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:31.891771" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:31.891115" elapsed="0.000774"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:31.896604" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:31.892189" elapsed="0.004645"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:31.891937" elapsed="0.004970"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:31.891075" elapsed="0.005875"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:31.897206" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:31.902808" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:31.898267" elapsed="0.004690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:31.898014" elapsed="0.005090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:31.897739" elapsed="0.005521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:31.876997" elapsed="0.026575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:31.860273" elapsed="0.043600">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:33.906889" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:33.905768" elapsed="0.001191"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:33.907736" elapsed="0.000420"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:33.907133" elapsed="0.001102"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:33.907087" elapsed="0.001211"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:33.939076" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:33.939536" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:33.939931" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:33.926045" elapsed="0.013947"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:33.940903" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:33.940174" elapsed="0.000854"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:33.945702" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:33.941360" elapsed="0.004451"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:33.941077" elapsed="0.004803"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:33.940127" elapsed="0.005797"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:33.946177" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:33.951835" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:33.947197" elapsed="0.004791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:33.946946" elapsed="0.005192">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:33.946681" elapsed="0.005579">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:33.925132" elapsed="0.027355">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:33.904899" elapsed="0.047818">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:35.955220" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:35.954463" elapsed="0.000811"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:35.955881" elapsed="0.000348"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:35.955441" elapsed="0.000849"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:35.955403" elapsed="0.000945"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:35.979152" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:35.979405" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:35.979562" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:35.966672" elapsed="0.012954"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:35.980360" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:35.979806" elapsed="0.000642"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:35.982807" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:35.980690" elapsed="0.002168"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:35.980482" elapsed="0.002409"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:35.979768" elapsed="0.003144"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:35.983031" elapsed="0.000188"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:35.985848" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:35.983556" elapsed="0.002373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:35.983429" elapsed="0.002573">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:35.983279" elapsed="0.002781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:35.965936" elapsed="0.020226">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:35.953673" elapsed="0.032607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:37.989784" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:37.988847" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:37.990602" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:37.990051" elapsed="0.001096"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:37.990005" elapsed="0.001196"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:38.018808" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:38.019134" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:38.019378" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:38.006888" elapsed="0.012550"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:38.020436" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:38.019626" elapsed="0.000937"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:38.025762" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:38.020944" elapsed="0.004938"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:38.020616" elapsed="0.005339"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:38.019580" elapsed="0.006421"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:38.026268" elapsed="0.000424"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:38.032689" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:38.027416" elapsed="0.005463">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:38.027121" elapsed="0.005916">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:38.026846" elapsed="0.006318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:38.005594" elapsed="0.027812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:37.987841" elapsed="0.045929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:40.036896" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:40.036005" elapsed="0.000959"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:40.037733" elapsed="0.000454"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:40.037137" elapsed="0.001154"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:40.037094" elapsed="0.001253"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:40.064898" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:40.065202" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:40.065487" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:40.053025" elapsed="0.012520"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:40.066460" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:40.065786" elapsed="0.000801"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:40.071284" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:40.066946" elapsed="0.004448"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:40.066672" elapsed="0.004793"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:40.065740" elapsed="0.005771"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:40.071804" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:40.077721" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:40.072830" elapsed="0.005068">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:40.072548" elapsed="0.005507">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:40.072282" elapsed="0.005902">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:40.052113" elapsed="0.026455">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:40.035094" elapsed="0.043750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:42.081667" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:42.080754" elapsed="0.000982"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:42.082484" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:42.081912" elapsed="0.001115"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:42.081866" elapsed="0.001215"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:42.110976" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:42.111475" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:42.111829" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:42.098982" elapsed="0.012922"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:42.113189" elapsed="0.000107"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:42.112179" elapsed="0.001220"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:42.118568" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:42.113828" elapsed="0.004901"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:42.113477" elapsed="0.005332"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:42.112108" elapsed="0.006751"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:42.119158" elapsed="0.000384"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:42.125374" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:42.120226" elapsed="0.005300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:42.119960" elapsed="0.005745">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:42.119688" elapsed="0.006234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:42.097704" elapsed="0.028431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:42.079840" elapsed="0.046515">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:44.129230" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:44.128271" elapsed="0.001051"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:44.130072" elapsed="0.000486"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:44.129503" elapsed="0.001169"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:44.129459" elapsed="0.001271"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:44.154499" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:44.154867" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:44.155079" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:44.145219" elapsed="0.009913"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:44.156006" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:44.155328" elapsed="0.000801"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:44.161059" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:44.156470" elapsed="0.004699"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:44.156181" elapsed="0.005057"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:44.155259" elapsed="0.006023"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:44.161568" elapsed="0.000397"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:44.167459" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:44.162694" elapsed="0.005068">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:44.162402" elapsed="0.005538">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:44.162096" elapsed="0.005990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:44.144352" elapsed="0.024002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:44.127367" elapsed="0.041204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:46.171605" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:46.170770" elapsed="0.000927"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:46.172444" elapsed="0.000449"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:46.171872" elapsed="0.001100"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:46.171827" elapsed="0.001199"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:46.197470" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:46.197800" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:46.198023" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:46.187334" elapsed="0.010742"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:46.198881" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:46.198234" elapsed="0.000762"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:46.203606" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:46.199299" elapsed="0.004564"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:46.199045" elapsed="0.004890"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:46.198196" elapsed="0.005784"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:46.204266" elapsed="0.000360"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:46.209821" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:46.205273" elapsed="0.004723">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:46.205029" elapsed="0.005114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:46.204770" elapsed="0.005498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:46.186458" elapsed="0.024035">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:46.169819" elapsed="0.040903">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:48.214553" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:48.213465" elapsed="0.001172"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:48.215504" elapsed="0.000480"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:48.214909" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:48.214845" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:48.242211" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:48.242584" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:48.242958" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:48.231089" elapsed="0.011948"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:48.244126" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:48.243234" elapsed="0.001023"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:48.249896" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:48.244621" elapsed="0.005388"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:48.244310" elapsed="0.005771"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:48.243187" elapsed="0.006940"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:48.250482" elapsed="0.000419"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:48.256959" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:48.251770" elapsed="0.005346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:48.251324" elapsed="0.005944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:48.251024" elapsed="0.006397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:48.230100" elapsed="0.027535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:48.212415" elapsed="0.045537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:50.260714" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:50.259802" elapsed="0.000979"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:50.261508" elapsed="0.000452"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:50.260956" elapsed="0.001084"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:50.260911" elapsed="0.001183"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:50.286511" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:50.286856" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:50.287063" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:50.276261" elapsed="0.010857"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:50.288121" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:50.287279" elapsed="0.000958"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:50.293019" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:50.288605" elapsed="0.004521"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:50.288287" elapsed="0.004909"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:50.287240" elapsed="0.006001"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:50.293523" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:50.299214" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:50.294598" elapsed="0.004948">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:50.294318" elapsed="0.005479">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:50.294023" elapsed="0.005903">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:50.275311" elapsed="0.024821">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:50.258909" elapsed="0.041457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:52.303601" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:52.302558" elapsed="0.001143"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:47:52.304484" elapsed="0.000487"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:52.303886" elapsed="0.001173"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:52.303839" elapsed="0.001278"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:52.330577" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:52.331014" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '613'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:52.331299" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:52.320389" elapsed="0.011012"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:52.332349" elapsed="0.000091"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:52.331605" elapsed="0.000904"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:52.337313" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:52.332861" elapsed="0.004597"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:52.332561" elapsed="0.004969"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:52.331557" elapsed="0.006034"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:52.337926" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:52.343733" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:52.339015" elapsed="0.004882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:47:52.338744" elapsed="0.005306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:52.338440" elapsed="0.005740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:52.319338" elapsed="0.025082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:52.301554" elapsed="0.043249">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-09-12T23:47:52.345005" level="FAIL">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-12T23:46:20.376143" elapsed="91.969099">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-12T23:47:52.345689" elapsed="0.000050"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:52.347447" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-12T23:47:52.677016" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:47:52.677288" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:47:52.677349" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:47:52.677509" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:52.347060" elapsed="0.330486"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:52.678571" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:52.678035" elapsed="0.000625"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:52.679177" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-12T23:47:53.033579" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:47:53.033993" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:47:53.034088" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:47:53.034173" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:52.678901" elapsed="0.355321"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.035091" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-12T23:47:53.110605" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:47:53.110984" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-12T23:47:53.111074" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:47:53.111153" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:53.034682" elapsed="0.076518"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.111904" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-12T23:47:53.162223" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:53.111626" elapsed="0.050803"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:53.179908" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:53.180005" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:53.180192" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:53.162846" elapsed="0.017398"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:53.189731" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 path_url=/rests/data/netconf-keystore:keystore 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node051tmvh4vsuzj17lp4ourzwapl1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:53.190096" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:47:53.190306" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:53.180578" elapsed="0.009780"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-12T23:47:52.346361" elapsed="0.844167"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-12T23:46:19.663866" elapsed="93.526758">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDaEdBidHgDALBAAAiVctcir1PfLBgRmOK4/gsFBbaT/kmccyPz0Rgas+Tdwcr8JTgE1XY9ZZk8bufRlKzaMCndnvimlM5dpPBx2J+qMZEn0ceZ8S37SRV2W3zQnNwHzBglgfIUTiACszT+wxamD2uvpdbqjYUjgyVPNaf796Mu2T1ao4SKp8cRwdquA/r2tABMZiiPuHHeg44v96FC4Iwt+USr4EJtNSfekhztOkWvI34A19ucPPikxVrJJfozt1nXhZhzVZvM4BYuk9ExJAH4+873nOsDCl/it23tzfsm8WaVGl3yLnU4+8D8lnRU11z9Pgl6UUyWwWTlg9PaD4JZ","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t3" name="CallHome over SSH with correct global credentials" line="53">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:53.193685" level="INFO">Creating Session using : alias=session, url=http://10.30.170.178:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7dde61b66590&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-12T23:47:53.193112" elapsed="0.001211"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.194906" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-12T23:47:53.217941" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:53.194699" elapsed="0.023363"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.218589" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:47:53.472328" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:53.218363" elapsed="0.254182"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.473161" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-12T23:47:53.518904" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:47:53.519143" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQ...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:53.472931" elapsed="0.046254"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:47:53.525684" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQ...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:47:53.519517" elapsed="0.006236"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-12T23:47:53.192549" elapsed="0.333306"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.568193" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:47:53.526625" elapsed="0.041839"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.578553" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:47:53.569007" elapsed="0.009716"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-12T23:47:53.526131" elapsed="0.052741"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:47:53.580526" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:47:53.580878" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:47:53.580131" elapsed="0.000807"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:47:53.581869" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:47:53.581271" elapsed="0.000658"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:47:53.583131" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:47:53.582455" elapsed="0.000750"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:53.611586" level="INFO">PUT Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '79', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "root" ]
  }
}
 
 </msg>
<msg time="2026-09-12T23:47:53.611733" level="INFO">PUT Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 11-Sep-2026 23:47:53 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:53.611955" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:53.583569" elapsed="0.028444"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:47:53.612365" elapsed="0.005406"/>
</kw>
<arg>root</arg>
<arg>root</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-09-12T23:47:53.579313" elapsed="0.038608"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:47:53.635354" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:47:53.635749" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:47:53.634980" elapsed="0.000826"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:47:53.636934" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:47:53.636143" elapsed="0.000884"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:53.634294" elapsed="0.002853"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:53.626822" elapsed="0.010378"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-12T23:47:53.637787" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:53.637275" elapsed="0.000661"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:53.626770" elapsed="0.011250"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:47:53.638918" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:47:53.638326" elapsed="0.000650"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:47:53.639873" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:47:53.639289" elapsed="0.000643"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:47:53.640894" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:47:53.640245" elapsed="0.000712"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:47:53.641862" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nc...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:47:53.641285" elapsed="0.000637"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:53.658467" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"
        }
    }
}
 
 </msg>
<msg time="2026-09-12T23:47:53.658627" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:53.659020" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:53.642340" elapsed="0.016751"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:47:53.659584" elapsed="0.005426"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-12T23:47:53.618567" elapsed="0.046598"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:47:53.665991" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-12T23:47:53.993839" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:47:53.994159" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:47:53.994248" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:47:53.994331" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:47:53.665531" elapsed="0.328895"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:53.998077" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:53.997222" elapsed="0.000913"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:47:53.998861" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:53.998293" elapsed="0.000683"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:53.998249" elapsed="0.000779"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:54.024607" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:54.024940" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:54.025166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:54.013465" elapsed="0.011757"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:54.026069" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:54.025421" elapsed="0.000765"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:54.030899" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:54.026513" elapsed="0.004490"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:54.026235" elapsed="0.004837"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:54.025347" elapsed="0.005772"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:54.031374" elapsed="0.000395"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:47:54.032414" elapsed="0.004488"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:47:54.032142" elapsed="0.004841"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:54.042010" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:54.037414" elapsed="0.004750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:47:54.037146" elapsed="0.005346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:54.031880" elapsed="0.010743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:54.012565" elapsed="0.030305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:53.996367" elapsed="0.046699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:56.045950" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:56.044960" elapsed="0.001060"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:47:56.046821" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:56.046197" elapsed="0.000766"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:56.046151" elapsed="0.000934"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:56.072591" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:56.073002" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:56.073223" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:56.062000" elapsed="0.011277"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:56.074222" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:56.073482" elapsed="0.000866"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:56.079960" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:56.074753" elapsed="0.005320"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:56.074433" elapsed="0.005715"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:56.073435" elapsed="0.006758"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:56.080479" elapsed="0.000440"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:47:56.081595" elapsed="0.004789"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:47:56.081310" elapsed="0.005218"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:56.091796" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:56.087015" elapsed="0.005057">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:47:56.086759" elapsed="0.005515">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:56.081039" elapsed="0.011443">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:56.060972" elapsed="0.031828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:56.044052" elapsed="0.048961">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:47:58.095838" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:47:58.094792" elapsed="0.001112"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:47:58.096622" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:58.096078" elapsed="0.000692"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:58.096034" elapsed="0.000789"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:47:58.121255" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:47:58.121566" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:47:58.121803" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:47:58.110822" elapsed="0.011035"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:47:58.122693" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:47:58.122023" elapsed="0.000789"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:47:58.127504" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:47:58.123114" elapsed="0.004496"/>
</kw>
<status status="PASS" start="2026-09-12T23:47:58.122861" elapsed="0.004850"/>
</branch>
<status status="PASS" start="2026-09-12T23:47:58.121982" elapsed="0.005779"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:47:58.128052" elapsed="0.000564"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:47:58.129480" elapsed="0.004864"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:47:58.129138" elapsed="0.005321"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:47:58.139452" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:47:58.134929" elapsed="0.004679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:47:58.134635" elapsed="0.005164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:47:58.128804" elapsed="0.011116">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:47:58.109939" elapsed="0.030189">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:47:58.093934" elapsed="0.046390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:00.143179" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:00.142235" elapsed="0.001014"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:00.144088" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:00.143448" elapsed="0.000764"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:00.143377" elapsed="0.000886"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:00.170408" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:00.170803" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:00.171066" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:00.159861" elapsed="0.011261"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:00.172135" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:00.171313" elapsed="0.000944"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:00.176988" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:00.172604" elapsed="0.004487"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:00.172308" elapsed="0.004854"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:00.171264" elapsed="0.005943"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:00.177484" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:00.178520" elapsed="0.004513"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:00.178239" elapsed="0.004875"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:00.188070" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:00.183541" elapsed="0.004676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:00.183275" elapsed="0.005086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:00.177973" elapsed="0.010530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:00.158774" elapsed="0.029963">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:00.141301" elapsed="0.047634">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:02.191664" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:02.190790" elapsed="0.000943"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:02.192575" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:02.191949" elapsed="0.000782"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:02.191876" elapsed="0.000907"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:02.217924" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:02.218428" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:02.218734" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:02.207263" elapsed="0.011531"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:02.219758" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:02.218986" elapsed="0.000891"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:02.225082" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:02.220186" elapsed="0.005002"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:02.219926" elapsed="0.005331"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:02.218928" elapsed="0.006374"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:02.225582" elapsed="0.000379"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:02.226692" elapsed="0.005536"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:02.226377" elapsed="0.005933"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:02.237435" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:02.232781" elapsed="0.004830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:02.232500" elapsed="0.005293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:02.226106" elapsed="0.011809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:02.206310" elapsed="0.031809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:02.189920" elapsed="0.048390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:04.240982" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:04.240108" elapsed="0.000938"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:04.241956" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:04.241333" elapsed="0.000748"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:04.241287" elapsed="0.000846"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:04.268297" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:04.268625" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:04.268857" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:04.257543" elapsed="0.011367"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:04.269727" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:04.269066" elapsed="0.000776"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:04.274764" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:04.270139" elapsed="0.004759"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:04.269891" elapsed="0.005092"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:04.269028" elapsed="0.006004"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:04.275313" elapsed="0.000436"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:04.276415" elapsed="0.004855"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:04.276153" elapsed="0.005202"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:04.287206" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:04.281847" elapsed="0.005527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:04.281552" elapsed="0.006009">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:04.275870" elapsed="0.011863">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:04.256578" elapsed="0.031416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:04.239217" elapsed="0.049091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:06.291121" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:06.290190" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:06.292011" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:06.291366" elapsed="0.000774"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:06.291321" elapsed="0.000871"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:06.321821" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:06.322160" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:06.322411" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:06.311161" elapsed="0.011338"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:06.323581" elapsed="0.000101"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:06.322787" elapsed="0.000969"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:06.328688" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:06.324072" elapsed="0.004725"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:06.323809" elapsed="0.005059"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:06.322720" elapsed="0.006192"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:06.329204" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:06.330291" elapsed="0.004790"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:06.330006" elapsed="0.005159"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:06.340441" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:06.335631" elapsed="0.005045">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:06.335351" elapsed="0.005497">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:06.329736" elapsed="0.011240">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:06.309962" elapsed="0.031323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:06.289263" elapsed="0.052259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:08.344405" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:08.343453" elapsed="0.001045"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:08.345337" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:08.344710" elapsed="0.000758"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:08.344634" elapsed="0.000941"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:08.370542" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:08.370912" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:08.371139" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:08.360884" elapsed="0.010312"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:08.372169" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:08.371390" elapsed="0.000905"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:08.377514" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:08.372741" elapsed="0.004887"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:08.372349" elapsed="0.005383"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:08.371343" elapsed="0.006439"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:08.378060" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:08.379171" elapsed="0.005419"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:08.378891" elapsed="0.005818"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:08.390091" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:08.385164" elapsed="0.005098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:08.384893" elapsed="0.005529">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:08.378574" elapsed="0.012141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:08.359834" elapsed="0.031118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:08.342526" elapsed="0.048636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:10.393836" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:10.392955" elapsed="0.000947"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:10.394628" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:10.394077" elapsed="0.000700"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:10.394031" elapsed="0.000798"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:10.419035" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:10.419339" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:10.419566" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:10.409078" elapsed="0.010542"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:10.420468" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:10.419829" elapsed="0.000778"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:10.425300" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:10.420948" elapsed="0.004456"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:10.420686" elapsed="0.004787"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:10.419783" elapsed="0.005757"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:10.425826" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:10.426853" elapsed="0.004449"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:10.426568" elapsed="0.004816"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:10.436572" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:10.431881" elapsed="0.004877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:10.431571" elapsed="0.005444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:10.426280" elapsed="0.010867">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:10.407944" elapsed="0.029417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:10.392068" elapsed="0.045522">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:12.440562" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:12.439698" elapsed="0.000930"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:12.441356" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:12.440834" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:12.440789" elapsed="0.000812"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:12.466805" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:12.467211" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:12.467447" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:12.456408" elapsed="0.011115"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:12.468382" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:12.467743" elapsed="0.000798"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:12.473460" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:12.468884" elapsed="0.004703"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:12.468595" elapsed="0.005092"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:12.467699" elapsed="0.006036"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:12.473996" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:12.475124" elapsed="0.004587"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:12.474867" elapsed="0.004937"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:12.484869" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:12.480229" elapsed="0.004910">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:12.479980" elapsed="0.005315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:12.474475" elapsed="0.010947">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:12.455512" elapsed="0.030198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:12.438756" elapsed="0.047162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:14.489332" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:14.488190" elapsed="0.001231"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:14.490489" elapsed="0.000100"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:14.489746" elapsed="0.000985"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:14.489637" elapsed="0.001173"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:14.521378" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:14.521785" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:14.522043" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:14.510886" elapsed="0.011214"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:14.523121" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:14.522318" elapsed="0.000930"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:14.528564" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:14.523669" elapsed="0.005061"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:14.523302" elapsed="0.005509"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:14.522262" elapsed="0.006594"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:14.529141" elapsed="0.000545"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:14.530384" elapsed="0.005475"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:14.530115" elapsed="0.005855"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:14.541242" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:14.536415" elapsed="0.004992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:14.536152" elapsed="0.005444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:14.529824" elapsed="0.011935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:14.509432" elapsed="0.032551">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:14.487143" elapsed="0.055070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:16.544980" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:16.544095" elapsed="0.000948"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:16.545874" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:16.545220" elapsed="0.000779"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:16.545174" elapsed="0.000877"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:16.569323" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:16.569681" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:16.569884" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:16.560216" elapsed="0.009720"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:16.570836" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:16.570095" elapsed="0.000861"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:16.577037" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:16.571264" elapsed="0.005939"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:16.571007" elapsed="0.006303"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:16.570056" elapsed="0.007320"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:16.577832" elapsed="0.000713"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:16.579575" elapsed="0.007152"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:16.579166" elapsed="0.007669"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:16.594089" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:16.587386" elapsed="0.006912">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:16.587053" elapsed="0.007451">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:16.578759" elapsed="0.015982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:16.559338" elapsed="0.035707">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:16.543203" elapsed="0.052119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:18.598194" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:18.597194" elapsed="0.001072"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:18.599220" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:18.598471" elapsed="0.000916"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:18.598412" elapsed="0.001053"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:18.628903" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:18.629467" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:18.629891" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:18.618174" elapsed="0.011802"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:18.631255" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:18.630244" elapsed="0.001178"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:18.637340" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:18.631971" elapsed="0.005478"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:18.631495" elapsed="0.006051"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:18.630176" elapsed="0.007419"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:18.637893" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:18.638957" elapsed="0.004647"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:18.638692" elapsed="0.005031"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:18.649167" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:18.644191" elapsed="0.005167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:18.643935" elapsed="0.005647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:18.638365" elapsed="0.011424">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:18.616926" elapsed="0.033152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:18.596302" elapsed="0.054043">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:20.652235" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:20.651677" elapsed="0.000599"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:20.652850" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:20.652473" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:20.652443" elapsed="0.000510"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:20.669899" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:20.670084" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:20.670198" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:20.661424" elapsed="0.008805"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:20.670717" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:20.670323" elapsed="0.000465"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:20.673546" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:20.670969" elapsed="0.002642"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:20.670819" elapsed="0.002850"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:20.670299" elapsed="0.003397"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:20.673847" elapsed="0.000201"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:20.674415" elapsed="0.004492"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:20.674270" elapsed="0.004748"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:20.684067" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:20.679620" elapsed="0.004554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:20.679245" elapsed="0.005030">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:20.674117" elapsed="0.010256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:20.660935" elapsed="0.023582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:20.651098" elapsed="0.033661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:22.686775" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:22.686125" elapsed="0.000697"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:22.687318" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:22.686949" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:22.686916" elapsed="0.000521"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:22.705478" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:22.705823" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:22.706074" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:22.696772" elapsed="0.009357"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:22.707014" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:22.706311" elapsed="0.000824"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:22.712049" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:22.707440" elapsed="0.004718"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:22.707186" elapsed="0.005045"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:22.706267" elapsed="0.006010"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:22.712719" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:22.713766" elapsed="0.003693"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:22.713456" elapsed="0.004057"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:22.720953" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:22.717869" elapsed="0.003188">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:22.717667" elapsed="0.003489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:22.713190" elapsed="0.008048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:22.696093" elapsed="0.025364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:22.685445" elapsed="0.036219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:24.724417" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:24.723468" elapsed="0.001015"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:24.725342" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:24.724744" elapsed="0.000724"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:24.724690" elapsed="0.000829"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:24.749362" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:24.749716" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:24.749946" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:24.740002" elapsed="0.009999"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:24.750882" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:24.750194" elapsed="0.000809"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:24.755846" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:24.751338" elapsed="0.004613"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:24.751055" elapsed="0.004966"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:24.750150" elapsed="0.005916"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:24.756327" elapsed="0.000451"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:24.757451" elapsed="0.004778"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:24.757159" elapsed="0.005152"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:24.767465" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:24.762801" elapsed="0.004882">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:24.762476" elapsed="0.005407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:24.756892" elapsed="0.011215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:24.739073" elapsed="0.029246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:24.722590" elapsed="0.045923">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:26.770244" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:26.769794" elapsed="0.000485"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:26.770719" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:26.770381" elapsed="0.000403"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:26.770351" elapsed="0.000463"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:26.787892" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:26.788173" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:26.788361" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:26.779945" elapsed="0.008466"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:26.789185" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:26.788584" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:26.793766" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:26.789635" elapsed="0.004212"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:26.789349" elapsed="0.004577"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:26.788526" elapsed="0.005435"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:26.794180" elapsed="0.000317"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:26.795071" elapsed="0.002470"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:26.794873" elapsed="0.002732"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:26.800415" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:26.797864" elapsed="0.002644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:26.797723" elapsed="0.002993">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:26.794615" elapsed="0.006198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:26.779390" elapsed="0.021582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:26.769271" elapsed="0.031811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:28.804047" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:28.802949" elapsed="0.001186"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:28.805016" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:28.804361" elapsed="0.000780"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:28.804305" elapsed="0.000891"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:28.830298" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:28.830630" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:28.830889" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:28.820445" elapsed="0.010497"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:28.831794" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:28.831107" elapsed="0.000808"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:28.836693" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:28.832290" elapsed="0.004509"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:28.831966" elapsed="0.004903"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:28.831067" elapsed="0.005847"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:28.837172" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:28.838184" elapsed="0.004687"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:28.837941" elapsed="0.005017"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:28.848320" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:28.843380" elapsed="0.005217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:28.843127" elapsed="0.005681">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:28.837675" elapsed="0.011267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:28.819517" elapsed="0.029635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:28.802020" elapsed="0.047346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:30.852082" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:30.851120" elapsed="0.001033"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:30.852968" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:30.852344" elapsed="0.000759"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:30.852297" elapsed="0.000860"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:30.879257" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:30.879621" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:30.879895" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:30.869456" elapsed="0.010498"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:30.880829" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:30.880130" elapsed="0.000831"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:30.886127" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:30.881291" elapsed="0.004950"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:30.881014" elapsed="0.005305"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:30.880084" elapsed="0.006282"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:30.886697" elapsed="0.000463"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:30.887895" elapsed="0.004931"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:30.887591" elapsed="0.005320"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:30.897982" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:30.893330" elapsed="0.004809">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:30.893078" elapsed="0.005228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:30.887284" elapsed="0.011166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:30.868284" elapsed="0.030506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:30.850259" elapsed="0.048759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:32.901753" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:32.900865" elapsed="0.000954"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:32.902671" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:32.901992" elapsed="0.000844"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:32.901947" elapsed="0.000942"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:32.926773" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:32.927084" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:32.927308" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:32.917132" elapsed="0.010229"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:32.928274" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:32.927519" elapsed="0.000877"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:32.933446" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:32.928770" elapsed="0.004780"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:32.928446" elapsed="0.005223"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:32.927481" elapsed="0.006236"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:32.934043" elapsed="0.000460"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:32.935445" elapsed="0.005584"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:32.935082" elapsed="0.006034"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:32.946526" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:32.941597" elapsed="0.005148">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:32.941288" elapsed="0.005611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:32.934719" elapsed="0.012300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:32.916242" elapsed="0.030983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:32.899979" elapsed="0.047438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:34.950153" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:34.949231" elapsed="0.000986"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:34.950963" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:34.950387" elapsed="0.000693"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:34.950343" elapsed="0.000804"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:34.974911" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:34.975296" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:34.975499" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:34.965123" elapsed="0.010430"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:34.976501" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:34.975897" elapsed="0.000771"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:34.981314" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:34.976990" elapsed="0.004427"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:34.976722" elapsed="0.004762"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:34.975856" elapsed="0.005673"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:34.981847" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:34.982872" elapsed="0.004751"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:34.982556" elapsed="0.005177"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:34.992853" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:34.988144" elapsed="0.004866">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:34.987898" elapsed="0.005261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:34.982298" elapsed="0.010991">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:34.964219" elapsed="0.029311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:34.948330" elapsed="0.045465">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:36.996484" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:36.995671" elapsed="0.000878"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:36.997490" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:36.996902" elapsed="0.000776"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:36.996856" elapsed="0.000879"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:37.024022" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:37.024322" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:37.024543" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:37.012996" elapsed="0.011626"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:37.025412" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:37.024813" elapsed="0.000716"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:37.030409" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:37.025893" elapsed="0.004630"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:37.025609" elapsed="0.005014"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:37.024773" elapsed="0.005926"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:37.031169" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:37.032265" elapsed="0.004540"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:37.032006" elapsed="0.004882"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:37.042036" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:37.037298" elapsed="0.004893">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:37.037052" elapsed="0.005287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:37.031727" elapsed="0.010732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:37.012075" elapsed="0.030642">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:36.994798" elapsed="0.048211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:39.045699" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:39.044822" elapsed="0.000943"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:39.046477" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:39.045933" elapsed="0.000687"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:39.045891" elapsed="0.000810"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:39.072327" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:39.072557" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:39.072757" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:39.061008" elapsed="0.011786"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:39.073524" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:39.073068" elapsed="0.000604"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:39.076918" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:39.073894" elapsed="0.003090"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:39.073713" elapsed="0.003315"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:39.073038" elapsed="0.004019"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:39.077217" elapsed="0.000217"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:39.077909" elapsed="0.002766"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:39.077743" elapsed="0.002984"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:39.083840" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:39.080984" elapsed="0.002956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:39.080831" elapsed="0.003204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:39.077505" elapsed="0.006613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:39.059868" elapsed="0.024449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:39.043955" elapsed="0.040485">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:41.087209" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:41.086328" elapsed="0.000944"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:41.088045" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:41.087445" elapsed="0.000720"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:41.087399" elapsed="0.000816"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:41.113520" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:41.114048" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:41.114266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:41.102848" elapsed="0.011471"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:41.115196" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:41.114489" elapsed="0.000825"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:41.120078" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:41.115684" elapsed="0.004498"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:41.115365" elapsed="0.004886"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:41.114447" elapsed="0.005849"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:41.120552" elapsed="0.000441"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:41.121721" elapsed="0.004571"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:41.121370" elapsed="0.005002"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:41.131499" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:41.126833" elapsed="0.004891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:41.126536" elapsed="0.005362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:41.121104" elapsed="0.011083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:41.101882" elapsed="0.030524">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:41.085361" elapsed="0.047360">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:43.135975" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:43.134933" elapsed="0.001118"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:43.137014" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:43.136260" elapsed="0.000903"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:43.136206" elapsed="0.001019"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:43.168980" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:43.169357" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:43.169721" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:43.157519" elapsed="0.012271"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:43.170878" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:43.170030" elapsed="0.000990"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:43.177054" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:43.171431" elapsed="0.005740"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:43.171094" elapsed="0.006148"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:43.169964" elapsed="0.007322"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:43.177551" elapsed="0.000495"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:43.178902" elapsed="0.005592"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:43.178500" elapsed="0.006126"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:43.191054" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:43.185195" elapsed="0.005991">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:43.184871" elapsed="0.006533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:43.178181" elapsed="0.013324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:43.156288" elapsed="0.035415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:43.133860" elapsed="0.057986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:45.194988" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:45.193868" elapsed="0.001192"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:45.195882" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:45.195248" elapsed="0.000768"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:45.195201" elapsed="0.000871"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:45.222798" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:45.223175" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:45.223436" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:45.211615" elapsed="0.011881"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:45.224450" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:45.223744" elapsed="0.000833"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:45.230024" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:45.224981" elapsed="0.005164"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:45.224694" elapsed="0.005527"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:45.223693" elapsed="0.006577"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:45.230550" elapsed="0.000468"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:45.231810" elapsed="0.041523"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:45.231470" elapsed="0.041935"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:45.276744" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:45.273773" elapsed="0.003147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:45.273540" elapsed="0.003479">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:45.231145" elapsed="0.045952">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:45.210510" elapsed="0.066725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:45.192875" elapsed="0.084486">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:47.280129" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:47.279201" elapsed="0.000994"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:47.280967" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:47.280372" elapsed="0.000719"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:47.280327" elapsed="0.000815"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:47.308122" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:47.308513" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:47.308856" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:47.295988" elapsed="0.012933"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:47.309929" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:47.309118" elapsed="0.000943"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:47.316044" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:47.310384" elapsed="0.005786"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:47.310112" elapsed="0.006137"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:47.309070" elapsed="0.007227"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:47.316614" elapsed="0.000524"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:47.317958" elapsed="0.004788"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:47.317541" elapsed="0.005291"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:47.328666" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:47.323252" elapsed="0.005576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:47.323002" elapsed="0.005978">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:47.317262" elapsed="0.011848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:47.294996" elapsed="0.034325">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:47.278266" elapsed="0.051256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:49.331345" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:49.330851" elapsed="0.000532"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:49.331823" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:49.331490" elapsed="0.000404"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:49.331463" elapsed="0.000460"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:49.347255" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:49.347471" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:49.347668" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:49.339879" elapsed="0.007825"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:49.348352" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:49.347836" elapsed="0.000586"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:49.351251" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:49.348630" elapsed="0.002687"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:49.348453" elapsed="0.002906"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:49.347801" elapsed="0.003584"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:49.351540" elapsed="0.000230"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:49.352134" elapsed="0.002535"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:49.351988" elapsed="0.002727"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:49.357492" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:49.354953" elapsed="0.002628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:49.354807" elapsed="0.002892">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:49.351837" elapsed="0.005933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:49.339354" elapsed="0.018539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:49.330255" elapsed="0.027758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:51.360588" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:51.359766" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:51.361408" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:51.360881" elapsed="0.000645"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:51.360837" elapsed="0.000740"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:51.390321" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:51.390801" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:51.391094" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:51.376127" elapsed="0.015024"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:51.392067" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:51.391340" elapsed="0.000850"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:51.397073" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:51.392509" elapsed="0.004670"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:51.392243" elapsed="0.005005"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:51.391293" elapsed="0.006001"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:51.397550" elapsed="0.000399"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:51.398580" elapsed="0.004502"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:51.398327" elapsed="0.004838"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:51.408190" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:51.403578" elapsed="0.004761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:51.403330" elapsed="0.005158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:51.398062" elapsed="0.010575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:51.375208" elapsed="0.033671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:51.358896" elapsed="0.050185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:53.411683" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:53.410826" elapsed="0.000923"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:53.412525" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:53.412010" elapsed="0.000686"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:53.411965" elapsed="0.000785"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:53.437146" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:53.437434" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:53.437682" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:53.426797" elapsed="0.010941"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:53.438520" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:53.437899" elapsed="0.000800"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:53.443769" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:53.439033" elapsed="0.004841"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:53.438752" elapsed="0.005193"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:53.437859" elapsed="0.006131"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:53.444241" elapsed="0.000338"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:53.445249" elapsed="0.004603"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:53.445003" elapsed="0.004931"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:53.454865" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:53.450340" elapsed="0.004676">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:53.450096" elapsed="0.005070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:53.444740" elapsed="0.010549">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:53.425910" elapsed="0.029582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:53.409971" elapsed="0.045859">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:55.458481" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:55.457674" elapsed="0.000870"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:55.459283" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:55.458763" elapsed="0.000637"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:55.458718" elapsed="0.000732"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:55.483696" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:55.484048" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:55.484304" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:55.473218" elapsed="0.011144"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:55.485442" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:55.484632" elapsed="0.000941"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:55.490785" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:55.486046" elapsed="0.004845"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:55.485714" elapsed="0.005248"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:55.484537" elapsed="0.006470"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:55.491268" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:55.492340" elapsed="0.004669"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:55.492071" elapsed="0.005020"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:55.502083" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:55.497506" elapsed="0.004729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:55.497259" elapsed="0.005127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:55.491797" elapsed="0.010710">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:55.472339" elapsed="0.030583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:55.456815" elapsed="0.046316">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:57.504907" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:57.504394" elapsed="0.000554"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:57.505358" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:57.505056" elapsed="0.000366"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:57.505028" elapsed="0.000423"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:57.523440" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:57.523672" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:57.523804" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:57.513524" elapsed="0.010310"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:57.524278" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:57.523928" elapsed="0.000415"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:57.527058" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:57.524515" elapsed="0.002599"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:57.524372" elapsed="0.002779"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:57.523904" elapsed="0.003273"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:57.527317" elapsed="0.000191"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:57.527893" elapsed="0.002446"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:57.527751" elapsed="0.002633"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:57.533114" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:57.530627" elapsed="0.002576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:57.530475" elapsed="0.002810">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:57.527571" elapsed="0.005848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:57.513069" elapsed="0.020472">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:57.503863" elapsed="0.029820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:48:59.536351" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:48:59.535434" elapsed="0.000984"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:48:59.537167" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:59.536610" elapsed="0.000675"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:59.536546" elapsed="0.000793"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:48:59.563491" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:48:59.563878" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:48:59.564084" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:48:59.551203" elapsed="0.012934"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:48:59.564980" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:48:59.564306" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:48:59.570170" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:48:59.565401" elapsed="0.004875"/>
</kw>
<status status="PASS" start="2026-09-12T23:48:59.565148" elapsed="0.005198"/>
</branch>
<status status="PASS" start="2026-09-12T23:48:59.564264" elapsed="0.006127"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:48:59.570704" elapsed="0.000355"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:48:59.571740" elapsed="0.004481"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:48:59.571437" elapsed="0.004866"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:48:59.581483" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:48:59.576767" elapsed="0.004924">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:48:59.576472" elapsed="0.005498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:48:59.571175" elapsed="0.010927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:48:59.550296" elapsed="0.032017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:48:59.534538" elapsed="0.047970">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:01.585334" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:01.584369" elapsed="0.001032"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:01.586204" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:01.585579" elapsed="0.000756"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:01.585533" elapsed="0.000854"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:01.612392" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:01.612754" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:01.612961" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:01.601223" elapsed="0.011791"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:01.613865" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:01.613181" elapsed="0.000805"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:01.618675" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:01.614293" elapsed="0.004490"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:01.614038" elapsed="0.004814"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:01.613139" elapsed="0.005758"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:01.619154" elapsed="0.000342"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:01.620175" elapsed="0.004459"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:01.619923" elapsed="0.004820"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:01.629676" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:01.625152" elapsed="0.004840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:01.624907" elapsed="0.005244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:01.619630" elapsed="0.010646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:01.600276" elapsed="0.030203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:01.583430" elapsed="0.047307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:03.633576" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:03.632725" elapsed="0.000968"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:03.634472" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:03.633897" elapsed="0.000719"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:03.633839" elapsed="0.000862"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:03.660366" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:03.660739" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:03.661010" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:03.649789" elapsed="0.011282"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:03.661994" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:03.661252" elapsed="0.000867"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:03.667109" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:03.662430" elapsed="0.004789"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:03.662170" elapsed="0.005122"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:03.661208" elapsed="0.006131"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:03.667692" elapsed="0.000465"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:03.668867" elapsed="0.004654"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:03.668552" elapsed="0.005084"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:03.678922" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:03.674091" elapsed="0.005011">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:03.673837" elapsed="0.005417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:03.668281" elapsed="0.011095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:03.648837" elapsed="0.030775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:03.631842" elapsed="0.048009">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:05.682523" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:05.681712" elapsed="0.000897"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:05.683340" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:05.682819" elapsed="0.000638"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:05.682773" elapsed="0.000734"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:05.707427" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:05.707792" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:05.708004" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:05.697405" elapsed="0.010654"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:05.709035" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:05.708227" elapsed="0.000931"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:05.714236" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:05.709468" elapsed="0.004872"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:05.709210" elapsed="0.005202"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:05.708185" elapsed="0.006272"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:05.714766" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:05.715820" elapsed="0.005350"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:05.715516" elapsed="0.005771"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:05.728398" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:05.722017" elapsed="0.006591">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:05.721530" elapsed="0.007296">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:05.715252" elapsed="0.013702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:05.696526" elapsed="0.032660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:05.680849" elapsed="0.048618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:07.732453" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:07.731574" elapsed="0.000943"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:07.733284" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:07.732751" elapsed="0.000649"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:07.732699" elapsed="0.000750"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:07.759881" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:07.760280" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:07.760491" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:07.748023" elapsed="0.012522"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:07.761395" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:07.760779" elapsed="0.000735"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:07.766157" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:07.761880" elapsed="0.004380"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:07.761565" elapsed="0.004764"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:07.760736" elapsed="0.005638"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:07.766689" elapsed="0.000406"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:07.767871" elapsed="0.004413"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:07.767557" elapsed="0.004806"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:07.777894" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:07.772820" elapsed="0.005254">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:07.772526" elapsed="0.005702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:07.767246" elapsed="0.011121">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:07.747091" elapsed="0.031537">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:07.730463" elapsed="0.048408">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:09.782112" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:09.780876" elapsed="0.001302"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:09.783147" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:09.782527" elapsed="0.000748"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:09.782462" elapsed="0.000866"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:09.808745" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:09.809167" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:09.809514" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:09.798618" elapsed="0.011011"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:09.811031" elapsed="0.000083"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:09.809952" elapsed="0.001268"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:09.818515" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:09.811781" elapsed="0.006963"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:09.811307" elapsed="0.007547"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:09.809882" elapsed="0.009050"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:09.819324" elapsed="0.000614"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:09.820972" elapsed="0.006800"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:09.820525" elapsed="0.007376"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:09.834392" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:09.828522" elapsed="0.006104">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:09.828145" elapsed="0.006722">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:09.820119" elapsed="0.014889">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:09.797551" elapsed="0.037683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:09.779872" elapsed="0.055856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:11.837778" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:11.837136" elapsed="0.000687"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:11.838321" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:11.837957" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:11.837923" elapsed="0.000519"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:11.856988" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:11.857211" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:11.857362" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:11.848246" elapsed="0.009154"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:11.858051" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:11.857534" elapsed="0.000602"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:11.861679" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:11.858360" elapsed="0.003398"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:11.858174" elapsed="0.003635"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:11.857498" elapsed="0.004346"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:11.862034" elapsed="0.000254"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:11.862769" elapsed="0.002011"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:11.862562" elapsed="0.002255"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:11.867018" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:11.865004" elapsed="0.002090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:11.864893" elapsed="0.002270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:11.862372" elapsed="0.004846">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:11.847538" elapsed="0.019839">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:11.836486" elapsed="0.030981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:13.869552" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:13.868960" elapsed="0.000652"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:13.870102" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:13.869755" elapsed="0.000427"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:13.869721" elapsed="0.000498"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:13.886024" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:13.886252" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:13.886409" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:13.878517" elapsed="0.007927"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:13.887073" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:13.886586" elapsed="0.000567"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:13.890232" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:13.887357" elapsed="0.002939"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:13.887188" elapsed="0.003151"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:13.886540" elapsed="0.003828"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:13.890534" elapsed="0.000252"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:13.891201" elapsed="0.002837"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:13.891035" elapsed="0.003054"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:13.897474" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:13.894337" elapsed="0.003263">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:13.894196" elapsed="0.003528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:13.890862" elapsed="0.007034">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:13.877902" elapsed="0.020158">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:13.868283" elapsed="0.029919">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:15.901228" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:15.900246" elapsed="0.001050"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:15.902129" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:15.901471" elapsed="0.000786"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:15.901426" elapsed="0.000883"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:15.928284" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:15.928669" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:15.928944" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:15.918539" elapsed="0.010467"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:15.930026" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:15.929250" elapsed="0.000915"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:15.935366" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:15.930529" elapsed="0.004951"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:15.930216" elapsed="0.005338"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:15.929181" elapsed="0.006445"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:15.935943" elapsed="0.000408"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:15.937112" elapsed="0.004953"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:15.936814" elapsed="0.005347"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:15.947372" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:15.942661" elapsed="0.004863">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:15.942340" elapsed="0.005483">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:15.936472" elapsed="0.011481">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:15.917395" elapsed="0.030770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:15.899227" elapsed="0.049136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:17.951392" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:17.950326" elapsed="0.001157"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:17.952272" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:17.951731" elapsed="0.000661"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:17.951681" elapsed="0.000766"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:17.976681" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:17.976983" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:17.977191" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:17.967038" elapsed="0.010207"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:17.978149" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:17.977441" elapsed="0.000827"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:17.983497" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:17.978629" elapsed="0.005049"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:17.978320" elapsed="0.005436"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:17.977394" elapsed="0.006408"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:17.984066" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:17.985135" elapsed="0.004641"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:17.984875" elapsed="0.005008"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:17.995077" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:17.990307" elapsed="0.005027">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:17.990054" elapsed="0.005433">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:17.984526" elapsed="0.011108">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:17.966095" elapsed="0.029781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:17.949335" elapsed="0.046749">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:19.998927" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:19.997981" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:19.999794" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:19.999187" elapsed="0.000735"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:19.999128" elapsed="0.000848"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:20.024918" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:20.025260" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:20.025490" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:20.015334" elapsed="0.010212"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:20.026527" elapsed="0.000084"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:20.025809" elapsed="0.000901"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:20.031819" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:20.027108" elapsed="0.004819"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:20.026763" elapsed="0.005238"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:20.025760" elapsed="0.006286"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:20.032349" elapsed="0.000538"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:20.033628" elapsed="0.004802"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:20.033311" elapsed="0.005237"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:20.043830" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:20.039071" elapsed="0.004921">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:20.038800" elapsed="0.005344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:20.033011" elapsed="0.011259">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:20.014150" elapsed="0.030332">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:19.997067" elapsed="0.047696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:22.047681" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:22.046797" elapsed="0.000952"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:22.048449" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:22.047925" elapsed="0.000681"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:22.047881" elapsed="0.000805"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:22.075131" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:22.075433" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:22.075716" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:22.065601" elapsed="0.010173"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:22.076727" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:22.075940" elapsed="0.000913"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:22.081752" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:22.077189" elapsed="0.004672"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:22.076904" elapsed="0.005030"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:22.075899" elapsed="0.006081"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:22.082254" elapsed="0.000421"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:22.083336" elapsed="0.004665"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:22.083064" elapsed="0.005023"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:22.093252" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:22.088530" elapsed="0.004878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:22.088252" elapsed="0.005339">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:22.082798" elapsed="0.011016">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:22.064717" elapsed="0.029318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:22.045744" elapsed="0.048534">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:24.097265" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"CONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:24.096361" elapsed="0.000969"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:24.098138" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:24.097508" elapsed="0.000755"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:24.097464" elapsed="0.000852"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:24.122831" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:24.123263" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:24.123483" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:24.112795" elapsed="0.010743"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:24.124402" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:24.123764" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:24.129627" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:24.124904" elapsed="0.004868"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:24.124608" elapsed="0.005235"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:24.123722" elapsed="0.006166"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:24.130148" elapsed="0.000379"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:24.131237" elapsed="0.005112"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:49:24.130983" elapsed="0.005450"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:24.141827" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:24.136932" elapsed="0.005067">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-09-12T23:49:24.136672" elapsed="0.005482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:24.130704" elapsed="0.011575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:24.111860" elapsed="0.030667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:24.095366" elapsed="0.047413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-09-12T23:49:24.143033" level="FAIL">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-12T23:47:53.994913" elapsed="90.148445">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-12T23:49:24.143786" elapsed="0.000052"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:24.145605" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-12T23:49:24.434181" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:49:24.434740" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:49:24.434847" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:49:24.434937" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:24.145225" elapsed="0.289760"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:24.436172" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:24.435433" elapsed="0.000831"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:24.436991" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-12T23:49:24.787532" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:49:24.787984" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:49:24.788080" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:49:24.788170" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:24.436595" elapsed="0.351626"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:24.789135" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-12T23:49:24.855533" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:49:24.855864" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-12T23:49:24.855928" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:49:24.855985" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:24.788693" elapsed="0.067325"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:24.856497" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-12T23:49:24.911060" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:24.856318" elapsed="0.054846"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:24.927121" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:24.927186" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:24.927316" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:24.911404" elapsed="0.015954"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:24.934515" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 path_url=/rests/data/netconf-keystore:keystore 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0svtv3zd1gqio171qi76uacyyn2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:24.934764" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:49:24.934911" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:24.927615" elapsed="0.007330"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-12T23:49:24.144513" elapsed="0.790531"/>
</kw>
<doc>CallHome SSH device registered with global credentials should result to successful mount.</doc>
<status status="FAIL" start="2026-09-12T23:47:53.191187" elapsed="91.743940">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCbMas/1uYD32asErQk7yl7A1TKf1nKQuGE6uDEFgJxKU7sR/iA9edcK68s42nceKR/oZWSx5t3vgxMpUBOy2V5kG6nSkkgucMT52HallVG03GJUWd2+mmQ/Us8rEgSr72SgZmP2XVa6gv4EZckUCnJPNWTYD/6jCKvK7mZyMwQJ/22SI9uyCITqg2mBj4CZYD46L+kgGw2R3wtageqn/1f3StqT4L4W05joZ49JILPX+X63sB+1YJHSTtIKLCvW9x6FgPwXe65sj3ExpjE5wzreIwjI0RJOThsRCjpmzU92LW3k9mnQh98WWAa4Sg5wajpkprfvO0lXQU4qUM5BGNP"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</test>
<test id="s1-s1-t4" name="CallHome over SSH with incorrect global credentials" line="71">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:24.937342" level="INFO">Creating Session using : alias=session, url=http://10.30.170.178:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7dde61bf0fd0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-12T23:49:24.936976" elapsed="0.000595"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:24.937916" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-12T23:49:24.959813" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:24.937784" elapsed="0.022160"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:24.960381" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:49:25.173367" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:24.960208" elapsed="0.213414"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:25.174362" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-12T23:49:25.223259" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:49:25.223608" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:25.174079" elapsed="0.049624"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:49:25.229468" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:49:25.224111" elapsed="0.005426"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-12T23:49:24.936593" elapsed="0.293074"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:49:25.269051" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:49:25.230429" elapsed="0.038813"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:49:25.279205" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:49:25.269685" elapsed="0.009652"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-12T23:49:25.229988" elapsed="0.049502"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:49:25.281107" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:49:25.281404" level="INFO">${template} = {
  "credentials": {
    "username": "{username}",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${template}</var>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:49:25.280762" elapsed="0.000697"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:49:25.282366" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "{password}" ]
  }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:49:25.281845" elapsed="0.000578"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:49:25.283310" level="INFO">${body} = {
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:49:25.282777" elapsed="0.000592"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:25.306273" level="INFO">PUT Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '84', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
  "credentials": {
    "username": "root",
    "passwords": [ "incorrect" ]
  }
}
 
 </msg>
<msg time="2026-09-12T23:49:25.306405" level="INFO">PUT Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=204, reason=No Content 
 headers={'Set-Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 11-Sep-2026 23:49:25 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:25.306699" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${global_config_url}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a PUT request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:25.283726" elapsed="0.023033"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:25.307246" elapsed="0.005467"/>
</kw>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-09-12T23:49:25.279989" elapsed="0.032871"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:49:25.330004" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:49:25.330355" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:49:25.329626" elapsed="0.000793"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:49:25.331949" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:49:25.330990" elapsed="0.001058"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:25.329025" elapsed="0.003144"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:25.321377" elapsed="0.010844"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-12T23:49:25.332622" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:25.332279" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:25.321326" elapsed="0.011480"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:49:25.333678" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:49:25.333091" elapsed="0.000664"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:49:25.334606" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:49:25.334081" elapsed="0.000613"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:49:25.335610" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:49:25.335007" elapsed="0.000696"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:49:25.336515" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:49:25.336017" elapsed="0.000576"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:25.350068" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"
        }
    }
}
 
 </msg>
<msg time="2026-09-12T23:49:25.350146" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:25.350274" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:25.336915" elapsed="0.013392"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:49:25.350723" elapsed="0.005028"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-12T23:49:25.313431" elapsed="0.042464"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:49:25.356612" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-12T23:49:25.674117" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:49:25.674513" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:49:25.674715" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:49:25.674827" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:49:25.356215" elapsed="0.318663"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:25.678903" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:25.678035" elapsed="0.000929"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:25.679743" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:25.679140" elapsed="0.001145"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:25.679090" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:25.706595" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:25.706980" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:25.707216" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:25.697086" elapsed="0.010185"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:25.708237" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:25.707487" elapsed="0.000886"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:25.713868" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:25.708848" elapsed="0.005126"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:25.708474" elapsed="0.005571"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:25.707436" elapsed="0.006655"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:25.714347" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:25.720276" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:25.715457" elapsed="0.004971">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:25.715165" elapsed="0.005435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:25.714869" elapsed="0.005890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:25.696007" elapsed="0.024967">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:25.677057" elapsed="0.044206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:27.724114" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:27.723175" elapsed="0.001008"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:27.725012" elapsed="0.000554"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:27.724371" elapsed="0.001324"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:27.724313" elapsed="0.001439"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:27.750492" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:27.750866" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:27.751095" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:27.741104" elapsed="0.010048"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:27.752016" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:27.751323" elapsed="0.000828"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:27.757055" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:27.752465" elapsed="0.004707"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:27.752201" elapsed="0.005044"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:27.751282" elapsed="0.006009"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:27.757578" elapsed="0.000386"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:27.763823" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:27.758686" elapsed="0.005293">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:27.758377" elapsed="0.005783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:27.758104" elapsed="0.006190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:27.740167" elapsed="0.024469">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:27.722254" elapsed="0.042635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:29.767816" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:29.766794" elapsed="0.001091"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:29.768617" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:29.768062" elapsed="0.001096"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:29.768015" elapsed="0.001196"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:29.792675" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:29.792978" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:29.793199" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:29.783709" elapsed="0.009543"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:29.794067" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:29.793410" elapsed="0.000772"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:29.798869" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:29.794482" elapsed="0.004491"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:29.794230" elapsed="0.004811"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:29.793370" elapsed="0.005717"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:29.799342" elapsed="0.000407"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:29.804960" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:29.800374" elapsed="0.004739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:29.800126" elapsed="0.005130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:29.799862" elapsed="0.005601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:29.782809" elapsed="0.022934">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:29.765870" elapsed="0.040073">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:31.807904" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:31.807289" elapsed="0.000659"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:31.808421" elapsed="0.000313"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:31.808071" elapsed="0.000713"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:31.808038" elapsed="0.000784"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:31.824805" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:31.824997" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:31.825122" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:31.817066" elapsed="0.008086"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:31.825720" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:31.825269" elapsed="0.000527"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:31.828737" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:31.825998" elapsed="0.002805"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:31.825830" elapsed="0.003016"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:31.825237" elapsed="0.003638"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:31.829038" elapsed="0.000216"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:31.832721" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:31.829671" elapsed="0.003138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:31.829494" elapsed="0.003465">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:31.829326" elapsed="0.003707">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:31.816452" elapsed="0.016702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:31.806692" elapsed="0.026573">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:33.835421" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:33.834801" elapsed="0.000671"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:33.836012" elapsed="0.000313"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:33.835616" elapsed="0.000764"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:33.835582" elapsed="0.000843"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:33.854361" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:33.854608" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:33.854798" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:33.846156" elapsed="0.008675"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:33.855415" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:33.854966" elapsed="0.000520"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:33.858324" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:33.855722" elapsed="0.002652"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:33.855533" elapsed="0.002874"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:33.854931" elapsed="0.003496"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:33.858562" elapsed="0.000210"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:33.861981" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:33.859162" elapsed="0.003000">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:33.859002" elapsed="0.003254">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:33.858843" elapsed="0.003490">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:33.845470" elapsed="0.017000">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:33.834082" elapsed="0.028534">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:35.865264" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:35.864394" elapsed="0.000932"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:35.866062" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:35.865492" elapsed="0.001086"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:35.865448" elapsed="0.001183"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:35.891970" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:35.892308" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:35.892594" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:35.881125" elapsed="0.011576"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:35.893588" elapsed="0.000088"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:35.892904" elapsed="0.000856"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:35.898434" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:35.894081" elapsed="0.004478"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:35.893812" elapsed="0.004866"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:35.892857" elapsed="0.005886"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:35.899145" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:35.904802" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:35.900229" elapsed="0.004727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:35.899974" elapsed="0.005129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:35.899686" elapsed="0.005538">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:35.880236" elapsed="0.025195">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:35.863483" elapsed="0.042192">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:37.908277" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:37.907405" elapsed="0.000934"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:37.909158" elapsed="0.000475"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:37.908590" elapsed="0.001154"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:37.908529" elapsed="0.001269"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:37.937012" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:37.937375" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:37.937733" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:37.925000" elapsed="0.012799"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:37.938775" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:37.937990" elapsed="0.000926"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:37.944462" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:37.939382" elapsed="0.005236"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:37.939061" elapsed="0.005697"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:37.937942" elapsed="0.006885"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:37.945217" elapsed="0.000500"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:37.952440" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:37.946465" elapsed="0.006166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:37.946124" elapsed="0.006700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:37.945851" elapsed="0.007102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:37.923798" elapsed="0.029365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:37.906558" elapsed="0.046830">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:39.955457" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:39.954856" elapsed="0.000667"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:39.956037" elapsed="0.000276"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:39.955673" elapsed="0.000691"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:39.955619" elapsed="0.000781"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:39.975561" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:39.975794" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:39.976010" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:39.965599" elapsed="0.010447"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:39.976615" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:39.976164" elapsed="0.000548"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:39.979698" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:39.976922" elapsed="0.002844"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:39.976747" elapsed="0.003063"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:39.976135" elapsed="0.003704"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:39.980003" elapsed="0.000217"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:39.983513" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:39.980661" elapsed="0.002953">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:39.980460" elapsed="0.003267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:39.980296" elapsed="0.003514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:39.965031" elapsed="0.018916">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:39.954185" elapsed="0.029877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:41.986161" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:41.985504" elapsed="0.000707"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:41.986760" elapsed="0.000301"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:41.986348" elapsed="0.000770"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:41.986312" elapsed="0.000849"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:42.005016" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:42.005331" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:42.005529" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:41.996791" elapsed="0.008778"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:42.006622" elapsed="0.000082"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:42.005893" elapsed="0.000882"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:42.011707" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:42.007095" elapsed="0.004727"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:42.006828" elapsed="0.005069"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:42.005836" elapsed="0.006108"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:42.012242" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:42.018254" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:42.013363" elapsed="0.005046">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:42.013066" elapsed="0.005521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:42.012788" elapsed="0.005956">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:41.996217" elapsed="0.022747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:41.984836" elapsed="0.034326">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:44.020625" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:44.020205" elapsed="0.000468"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:44.021015" elapsed="0.000305"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:44.020764" elapsed="0.000595"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:44.020741" elapsed="0.000644"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:44.035991" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:44.036150" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:44.036244" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:44.027820" elapsed="0.008448"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:44.036668" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:44.036345" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:44.038834" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:44.036865" elapsed="0.002018"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:44.036747" elapsed="0.002168"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:44.036326" elapsed="0.002610"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:44.039056" elapsed="0.000161"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:44.041950" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:44.039524" elapsed="0.002502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:44.039393" elapsed="0.002705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:44.039271" elapsed="0.002885">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:44.027390" elapsed="0.014861">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:44.019769" elapsed="0.022572">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:46.044953" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:46.044081" elapsed="0.000936"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:46.045762" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:46.045187" elapsed="0.001070"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:46.045143" elapsed="0.001166"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:46.069723" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:46.070086" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:46.070324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:46.060632" elapsed="0.009755"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:46.071383" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:46.070609" elapsed="0.001149"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:46.077569" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:46.072137" elapsed="0.005582"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:46.071821" elapsed="0.005992"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:46.070560" elapsed="0.007312"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:46.078218" elapsed="0.000403"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:46.084056" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:46.079330" elapsed="0.004893">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:46.079060" elapsed="0.005321">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:46.078775" elapsed="0.005780">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:46.059446" elapsed="0.025393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:46.043218" elapsed="0.041926">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:48.087830" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:48.086948" elapsed="0.000946"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:48.088617" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:48.088069" elapsed="0.001088"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:48.088024" elapsed="0.001186"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:48.112068" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:48.112354" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:48.112603" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:48.103513" elapsed="0.009179"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:48.113506" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:48.112865" elapsed="0.000762"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:48.118252" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:48.113965" elapsed="0.004392"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:48.113707" elapsed="0.004723"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:48.112822" elapsed="0.005674"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:48.118794" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:48.124344" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:48.119831" elapsed="0.004688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:48.119548" elapsed="0.005153">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:48.119259" elapsed="0.005570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:48.102607" elapsed="0.022518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:48.086067" elapsed="0.039261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:50.126886" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:50.126417" elapsed="0.000503"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:50.127268" elapsed="0.000218"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:50.127014" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:50.126990" elapsed="0.000558"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:50.145276" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:50.145740" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:50.145982" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:50.134540" elapsed="0.011499"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:50.147030" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:50.146242" elapsed="0.000917"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:50.152686" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:50.147532" elapsed="0.005274"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:50.147210" elapsed="0.005674"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:50.146188" elapsed="0.006748"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:50.153215" elapsed="0.000402"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:50.159215" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:50.154306" elapsed="0.005066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:50.154041" elapsed="0.005516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:50.153767" elapsed="0.006071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:50.133502" elapsed="0.026576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:50.125959" elapsed="0.034325">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:52.162954" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:52.162065" elapsed="0.000950"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:52.163749" elapsed="0.000405"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:52.163186" elapsed="0.001048"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:52.163146" elapsed="0.001138"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:52.186425" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:52.186751" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:52.186945" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:52.177392" elapsed="0.009599"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:52.187789" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:52.187161" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:52.192068" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:52.188162" elapsed="0.003994"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:52.187933" elapsed="0.004283"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:52.187118" elapsed="0.005136"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:52.192497" elapsed="0.000312"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:52.197399" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:52.193343" elapsed="0.004205">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:52.193126" elapsed="0.004668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:52.192907" elapsed="0.004996">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:52.176579" elapsed="0.021499">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:52.161189" elapsed="0.037058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:54.200842" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:54.199966" elapsed="0.000940"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:54.201606" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:54.201074" elapsed="0.001069"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:54.201033" elapsed="0.001161"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:54.230130" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:54.230459" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:54.230738" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:54.219038" elapsed="0.011757"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:54.231690" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:54.230983" elapsed="0.000828"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:54.236490" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:54.232125" elapsed="0.004468"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:54.231862" elapsed="0.004827"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:54.230935" elapsed="0.005800"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:54.236989" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:54.242529" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:54.237987" elapsed="0.004815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:54.237735" elapsed="0.005214">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:54.237449" elapsed="0.005622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:54.218079" elapsed="0.025194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:54.199118" elapsed="0.044373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:56.246444" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:56.245509" elapsed="0.001005"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:56.247289" elapsed="0.000547"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:56.246728" elapsed="0.001196"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:56.246681" elapsed="0.001303"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:56.272800" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:56.273099" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:56.273316" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:56.262998" elapsed="0.010373"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:56.274254" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:56.273577" elapsed="0.000795"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:56.279482" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:56.274740" elapsed="0.004857"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:56.274444" elapsed="0.005283"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:56.273531" elapsed="0.006260"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:56.280189" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:56.286380" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:56.281261" elapsed="0.005300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:56.280996" elapsed="0.005747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:56.280723" elapsed="0.006149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:56.261996" elapsed="0.025086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:56.244384" elapsed="0.042896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:49:58.290323" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:49:58.289397" elapsed="0.000992"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:49:58.291189" elapsed="0.000515"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:58.290617" elapsed="0.001173"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:58.290570" elapsed="0.001276"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:49:58.317703" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:49:58.318023" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:49:58.318234" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:49:58.308422" elapsed="0.009867"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:49:58.319171" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:49:58.318489" elapsed="0.000804"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:49:58.324335" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:49:58.319769" elapsed="0.004698"/>
</kw>
<status status="PASS" start="2026-09-12T23:49:58.319461" elapsed="0.005080"/>
</branch>
<status status="PASS" start="2026-09-12T23:49:58.318444" elapsed="0.006143"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:49:58.324888" elapsed="0.000354"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:49:58.331007" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:49:58.325947" elapsed="0.005217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:49:58.325679" elapsed="0.005640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:49:58.325359" elapsed="0.006112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:49:58.307439" elapsed="0.024284">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:49:58.288475" elapsed="0.043452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:00.334877" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:00.333839" elapsed="0.001107"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:00.335772" elapsed="0.000436"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:00.335118" elapsed="0.001191"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:00.335075" elapsed="0.001305"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:00.360909" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:00.361250" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:00.361622" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:00.351290" elapsed="0.010425"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:00.362591" elapsed="0.000087"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:00.361897" elapsed="0.000855"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:00.367707" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:00.363078" elapsed="0.004755"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:00.362807" elapsed="0.005101"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:00.361851" elapsed="0.006111"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:00.368241" elapsed="0.000435"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:00.374263" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:00.369380" elapsed="0.005070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:00.369110" elapsed="0.005519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:00.368802" elapsed="0.006002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:00.350336" elapsed="0.024686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:00.332903" elapsed="0.042324">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:02.378091" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:02.377179" elapsed="0.000978"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:02.379045" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:02.378347" elapsed="0.001271"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:02.378289" elapsed="0.001439"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:02.403007" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:02.403626" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:02.403930" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:02.393794" elapsed="0.010196"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:02.405036" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:02.404233" elapsed="0.000933"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:02.410747" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:02.405535" elapsed="0.005338"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:02.405220" elapsed="0.005738"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:02.404134" elapsed="0.006876"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:02.411344" elapsed="0.000456"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:02.417991" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:02.412542" elapsed="0.005617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:02.412241" elapsed="0.006085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:02.411932" elapsed="0.006574">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:02.392928" elapsed="0.025834">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:02.376234" elapsed="0.042729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:04.420797" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:04.420250" elapsed="0.000590"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:04.421310" elapsed="0.000407"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:04.420951" elapsed="0.000814"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:04.420923" elapsed="0.000878"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:04.437266" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:04.437625" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:04.437966" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:04.430125" elapsed="0.007904"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:04.439054" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:04.438266" elapsed="0.000911"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:04.444045" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:04.439520" elapsed="0.004641"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:04.439228" elapsed="0.005004"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:04.438208" elapsed="0.006071"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:04.444611" elapsed="0.000439"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:04.450362" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:04.445783" elapsed="0.004750">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:04.445493" elapsed="0.005217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:04.445183" elapsed="0.005652">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:04.429539" elapsed="0.021505">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:04.419707" elapsed="0.031530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:06.454316" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:06.453360" elapsed="0.001048"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:06.455188" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:06.454593" elapsed="0.001172"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:06.454546" elapsed="0.001276"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:06.480298" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:06.480674" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:06.480918" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:06.471292" elapsed="0.009680"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:06.481850" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:06.481156" elapsed="0.000814"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:06.487256" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:06.482285" elapsed="0.005107"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:06.482022" elapsed="0.005447"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:06.481110" elapsed="0.006404"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:06.487808" elapsed="0.000389"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:06.493628" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:06.488905" elapsed="0.004906">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:06.488610" elapsed="0.005348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:06.488316" elapsed="0.005764">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:06.470263" elapsed="0.024077">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:06.452327" elapsed="0.042363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:08.497272" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:08.496422" elapsed="0.000913"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:08.498082" elapsed="0.000438"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:08.497535" elapsed="0.001064"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:08.497492" elapsed="0.001191"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:08.522302" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:08.522627" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:08.522864" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:08.512790" elapsed="0.010128"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:08.523762" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:08.523080" elapsed="0.000802"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:08.528746" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:08.524195" elapsed="0.004662"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:08.523934" elapsed="0.004995"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:08.523040" elapsed="0.005936"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:08.529236" elapsed="0.000398"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:08.535463" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:08.530309" elapsed="0.005305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:08.530056" elapsed="0.005759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:08.529783" elapsed="0.006161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:08.511871" elapsed="0.024371">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:08.495558" elapsed="0.040915">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:10.539202" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:10.538335" elapsed="0.000931"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:10.540022" elapsed="0.000437"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:10.539472" elapsed="0.001068"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:10.539426" elapsed="0.001168"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:10.564244" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:10.564507" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:10.564689" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:10.554721" elapsed="0.010009"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:10.565381" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:10.564872" elapsed="0.000592"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:10.568711" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:10.565711" elapsed="0.003073"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:10.565501" elapsed="0.003331"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:10.564835" elapsed="0.004030"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:10.569053" elapsed="0.000246"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:10.572753" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:10.569737" elapsed="0.003122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:10.569553" elapsed="0.003410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:10.569387" elapsed="0.003752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:10.553800" elapsed="0.019499">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:10.537385" elapsed="0.036081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:12.576152" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:12.575256" elapsed="0.000961"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:12.577064" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:12.576461" elapsed="0.001155"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:12.576402" elapsed="0.001301"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:12.602809" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:12.603106" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:12.603382" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:12.592620" elapsed="0.010818"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:12.604270" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:12.603608" elapsed="0.000819"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:12.609227" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:12.604777" elapsed="0.004580"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:12.604480" elapsed="0.004969"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:12.603567" elapsed="0.005930"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:12.609789" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:12.615526" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:12.610839" elapsed="0.004891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:12.610557" elapsed="0.005471">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:12.610248" elapsed="0.005929">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:12.591725" elapsed="0.024725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:12.574391" elapsed="0.042336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:14.619626" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:14.618715" elapsed="0.001011"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:14.620512" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:14.619924" elapsed="0.001168"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:14.619872" elapsed="0.001276"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:14.645839" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:14.646181" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:14.646421" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:14.636076" elapsed="0.010401"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:14.647380" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:14.646682" elapsed="0.000826"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:14.652577" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:14.647855" elapsed="0.004866"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:14.647560" elapsed="0.005235"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:14.646607" elapsed="0.006233"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:14.653103" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:14.660037" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:14.654236" elapsed="0.006070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:14.653962" elapsed="0.006548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:14.653632" elapsed="0.007050">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:14.635118" elapsed="0.025865">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:14.617778" elapsed="0.043423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:16.663982" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:16.663060" elapsed="0.000989"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:16.664814" elapsed="0.000430"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:16.664228" elapsed="0.001123"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:16.664179" elapsed="0.001234"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:16.690864" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:16.691176" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:16.691428" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:16.680968" elapsed="0.010517"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:16.692376" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:16.691701" elapsed="0.000795"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:16.697245" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:16.692842" elapsed="0.004565"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:16.692547" elapsed="0.004953"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:16.691624" elapsed="0.005925"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:16.697950" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:16.703612" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:16.699038" elapsed="0.004759">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:16.698778" elapsed="0.005170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:16.698445" elapsed="0.005629">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:16.679996" elapsed="0.024287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:16.662156" elapsed="0.042346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:18.706705" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:18.706090" elapsed="0.000664"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:18.707267" elapsed="0.000318"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:18.706890" elapsed="0.000766"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:18.706853" elapsed="0.000852"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:18.726152" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:18.726398" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:18.726568" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:18.717412" elapsed="0.009194"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:18.727207" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:18.726758" elapsed="0.000526"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:18.730409" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:18.727575" elapsed="0.002899"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:18.727401" elapsed="0.003119"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:18.726723" elapsed="0.003828"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:18.730743" elapsed="0.000221"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:18.735577" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:18.731385" elapsed="0.004383">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:18.731203" elapsed="0.004739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:18.731038" elapsed="0.005030">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:18.716846" elapsed="0.019434">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:18.705431" elapsed="0.031131">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:20.738440" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:20.737860" elapsed="0.000624"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:20.738958" elapsed="0.000268"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:20.738598" elapsed="0.000694"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:20.738569" elapsed="0.000758"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:20.756193" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:20.756410" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:20.756615" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:20.748119" elapsed="0.008555"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:20.757152" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:20.756778" elapsed="0.000446"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:20.760094" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:20.757441" elapsed="0.002733"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:20.757257" elapsed="0.002963"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:20.756753" elapsed="0.003496"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:20.760525" elapsed="0.000420"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:20.766741" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:20.761688" elapsed="0.005208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:20.761405" elapsed="0.005642">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:20.761083" elapsed="0.006086">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:20.747576" elapsed="0.019821">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:20.737231" elapsed="0.030361">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:22.770385" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:22.769464" elapsed="0.000986"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:22.771166" elapsed="0.000444"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:22.770622" elapsed="0.001096"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:22.770579" elapsed="0.001192"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:22.798864" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:22.799297" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:22.799518" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:22.787098" elapsed="0.012475"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:22.800525" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:22.799811" elapsed="0.000869"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:22.805609" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:22.801020" elapsed="0.004728"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:22.800738" elapsed="0.005081"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:22.799760" elapsed="0.006105"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:22.806155" elapsed="0.000413"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:22.812435" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:22.807307" elapsed="0.005287">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:22.807020" elapsed="0.005760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:22.806721" elapsed="0.006203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:22.785994" elapsed="0.027172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:22.768493" elapsed="0.044931">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:24.816184" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:24.815319" elapsed="0.000964"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:24.817012" elapsed="0.000550"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:24.816462" elapsed="0.001212"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:24.816417" elapsed="0.001312"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:24.843368" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:24.843732" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:24.843964" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:24.833400" elapsed="0.010619"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:24.844875" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:24.844199" elapsed="0.000797"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:24.849812" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:24.845367" elapsed="0.004556"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:24.845046" elapsed="0.004951"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:24.844147" elapsed="0.005897"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:24.850334" elapsed="0.000418"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:24.856753" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:24.851569" elapsed="0.005343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:24.851236" elapsed="0.005828">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:24.850872" elapsed="0.006317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:24.832396" elapsed="0.025025">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:24.814418" elapsed="0.043270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:26.860603" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:26.859743" elapsed="0.000954"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:26.861425" elapsed="0.000575"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:26.860879" elapsed="0.001211"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:26.860833" elapsed="0.001313"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:26.887985" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:26.888347" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:26.888590" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:26.876860" elapsed="0.011820"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:26.889599" elapsed="0.000099"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:26.888861" elapsed="0.000910"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:26.894771" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:26.890095" elapsed="0.004789"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:26.889825" elapsed="0.005134"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:26.888816" elapsed="0.006190"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:26.895297" elapsed="0.000431"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:26.901756" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:26.896431" elapsed="0.005508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:26.896125" elapsed="0.005975">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:26.895853" elapsed="0.006398">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:26.875913" elapsed="0.026558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:26.858851" elapsed="0.043985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:28.904666" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:28.904120" elapsed="0.000587"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:28.905124" elapsed="0.000260"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:28.904815" elapsed="0.000615"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:28.904786" elapsed="0.000674"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:28.919581" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:28.919786" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:28.919916" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:28.912212" elapsed="0.007736"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:28.920475" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:28.920058" elapsed="0.000489"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:28.923309" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:28.920756" elapsed="0.002610"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:28.920579" elapsed="0.002829"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:28.920031" elapsed="0.003402"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:28.923553" elapsed="0.000196"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:28.926504" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:28.924105" elapsed="0.002479">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:28.923960" elapsed="0.002709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:28.923815" elapsed="0.002913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:28.911749" elapsed="0.015140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:28.903555" elapsed="0.023426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:30.929877" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:30.928889" elapsed="0.001076"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:30.930795" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:30.930148" elapsed="0.001230"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:30.930102" elapsed="0.001331"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:30.958921" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:30.959291" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:30.959553" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:30.949075" elapsed="0.010533"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:30.960541" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:30.959836" elapsed="0.000887"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:30.965635" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:30.961055" elapsed="0.004728"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:30.960785" elapsed="0.005070"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:30.959788" elapsed="0.006113"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:30.966170" elapsed="0.000407"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:30.972108" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:30.967295" elapsed="0.004996">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:30.967009" elapsed="0.005433">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:30.966732" elapsed="0.005986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:30.948097" elapsed="0.024854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:30.927953" elapsed="0.045200">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:32.976039" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:32.975075" elapsed="0.001032"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:32.976919" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:32.976313" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:32.976265" elapsed="0.001258"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:33.002119" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:33.002445" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:33.002689" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:32.992210" elapsed="0.010536"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:33.003596" elapsed="0.000096"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:33.002920" elapsed="0.000845"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:33.008794" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:33.004109" elapsed="0.004793"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:33.003818" elapsed="0.005154"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:33.002875" elapsed="0.006141"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:33.009322" elapsed="0.000386"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:33.015540" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:33.010395" elapsed="0.005343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:33.010093" elapsed="0.005897">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:33.009829" elapsed="0.006294">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:32.991282" elapsed="0.025078">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:32.974125" elapsed="0.042463">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:35.019547" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:35.018553" elapsed="0.001066"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:35.020470" elapsed="0.000530"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:35.019863" elapsed="0.001226"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:35.019814" elapsed="0.001341"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:35.047429" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:35.047820" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:35.048066" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:35.036965" elapsed="0.011176"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:35.049101" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:35.048359" elapsed="0.000926"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:35.054866" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:35.049693" elapsed="0.005307"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:35.049345" elapsed="0.005731"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:35.048315" elapsed="0.006809"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:35.055444" elapsed="0.000413"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:35.061890" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:35.056605" elapsed="0.005557">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:35.056316" elapsed="0.006060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:35.055999" elapsed="0.006514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:35.035892" elapsed="0.026907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:35.017567" elapsed="0.045459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:37.065911" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:37.064969" elapsed="0.001016"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:37.066798" elapsed="0.000488"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:37.066158" elapsed="0.001229"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:37.066114" elapsed="0.001335"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:37.093114" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:37.093452" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:37.093765" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:37.083143" elapsed="0.010685"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:37.094791" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:37.094024" elapsed="0.000912"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:37.100057" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:37.095322" elapsed="0.004887"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:37.094995" elapsed="0.005290"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:37.093981" elapsed="0.006348"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:37.100763" elapsed="0.000386"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:37.106882" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:37.101918" elapsed="0.005141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:37.101592" elapsed="0.005646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:37.101298" elapsed="0.006088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:37.082031" elapsed="0.025583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:37.064016" elapsed="0.043854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:39.110787" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:39.109848" elapsed="0.001007"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:39.111670" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:39.111064" elapsed="0.001179"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:39.111014" elapsed="0.001286"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:39.138193" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:39.138573" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:39.138864" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:39.127134" elapsed="0.011788"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:39.139901" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:39.139099" elapsed="0.000936"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:39.145189" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:39.140493" elapsed="0.004807"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:39.140208" elapsed="0.005162"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:39.139057" elapsed="0.006358"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:39.145714" elapsed="0.000383"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:39.152175" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:39.146847" elapsed="0.005503">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:39.146530" elapsed="0.005988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:39.146247" elapsed="0.006430">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:39.126048" elapsed="0.026847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:39.108915" elapsed="0.044191">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:41.156022" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:41.155073" elapsed="0.001022"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:41.156919" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:41.156314" elapsed="0.001156"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:41.156266" elapsed="0.001261"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:41.182439" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:41.182837" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:41.183198" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:41.172008" elapsed="0.011259"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:41.184242" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:41.183472" elapsed="0.000921"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:41.189458" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:41.184780" elapsed="0.004805"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:41.184449" elapsed="0.005243"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:41.183421" elapsed="0.006320"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:41.190039" elapsed="0.000400"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:41.196281" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:41.191283" elapsed="0.005161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:41.190938" elapsed="0.005661">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:41.190584" elapsed="0.006183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:41.171099" elapsed="0.025884">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:41.154113" elapsed="0.043113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:43.200323" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:43.199182" elapsed="0.001238"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:43.201335" elapsed="0.000564"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:43.200713" elapsed="0.001274"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:43.200605" elapsed="0.001437"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:43.226746" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:43.227149" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:43.227378" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:43.217065" elapsed="0.010367"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:43.228385" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:43.227601" elapsed="0.000911"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:43.233479" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:43.228875" elapsed="0.004711"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:43.228561" elapsed="0.005128"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:43.227558" elapsed="0.006179"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:43.233999" elapsed="0.000371"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:43.239822" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:43.235037" elapsed="0.005011">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:43.234783" elapsed="0.005519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:43.234486" elapsed="0.006016">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:43.216173" elapsed="0.024705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:43.198224" elapsed="0.042992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:45.244216" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:45.243220" elapsed="0.001066"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:45.245132" elapsed="0.000641"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:45.244469" elapsed="0.001408"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:45.244421" elapsed="0.001517"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:45.270190" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:45.270532" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:45.270820" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:45.260698" elapsed="0.010183"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:45.271851" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:45.271072" elapsed="0.000907"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:45.277028" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:45.272335" elapsed="0.004829"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:45.272030" elapsed="0.005211"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:45.271023" elapsed="0.006265"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:45.277556" elapsed="0.000422"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:45.284141" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:45.278699" elapsed="0.005615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:45.278404" elapsed="0.006076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:45.278122" elapsed="0.006488">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:45.259614" elapsed="0.025251">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:45.242268" elapsed="0.042807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:47.288297" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:47.287233" elapsed="0.001151"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:47.289226" elapsed="0.000506"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:47.288572" elapsed="0.001245"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:47.288524" elapsed="0.001348"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:47.313747" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:47.314047" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:47.314271" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:47.304177" elapsed="0.010147"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:47.315188" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:47.314511" elapsed="0.000802"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:47.320249" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:47.315687" elapsed="0.004669"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:47.315362" elapsed="0.005068"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:47.314466" elapsed="0.006008"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:47.320765" elapsed="0.000384"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:47.326514" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:47.321826" elapsed="0.004877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:47.321545" elapsed="0.005310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:47.321268" elapsed="0.005712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:47.303269" elapsed="0.023939">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:47.286230" elapsed="0.041271">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:49.330293" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:49.329373" elapsed="0.000989"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:49.331126" elapsed="0.000423"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:49.330542" elapsed="0.001087"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:49.330495" elapsed="0.001222"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:49.357776" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:49.358233" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:49.358539" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:49.347564" elapsed="0.011058"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:49.359845" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:49.358868" elapsed="0.001136"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:49.366319" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:49.360440" elapsed="0.006019"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:49.360059" elapsed="0.006500"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:49.358818" elapsed="0.007792"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:49.366940" elapsed="0.000400"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:49.373087" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:49.368134" elapsed="0.005129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:49.367830" elapsed="0.005631">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:49.367463" elapsed="0.006135">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:49.346309" elapsed="0.027645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:49.328473" elapsed="0.045725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:51.376963" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:51.376106" elapsed="0.000924"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:51.377807" elapsed="0.000443"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:51.377249" elapsed="0.001082"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:51.377204" elapsed="0.001185"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:51.403235" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:51.403569" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:51.403908" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:51.393553" elapsed="0.010436"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:51.404977" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:51.404215" elapsed="0.000914"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:51.410415" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:51.405574" elapsed="0.004962"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:51.405182" elapsed="0.005437"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:51.404166" elapsed="0.006537"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:51.411007" elapsed="0.000387"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:51.417307" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:51.412145" elapsed="0.005311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:51.411849" elapsed="0.005757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:51.411511" elapsed="0.006348">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:51.392504" elapsed="0.025592">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:51.375214" elapsed="0.043082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:53.421265" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:53.420296" elapsed="0.001037"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:53.422157" elapsed="0.000446"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:53.421519" elapsed="0.001205"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:53.421470" elapsed="0.001310"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:53.448381" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:53.448753" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:53.449029" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:53.437837" elapsed="0.011278"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:53.450071" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:53.449308" elapsed="0.000890"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:53.456006" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:53.450556" elapsed="0.005629"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:53.450251" elapsed="0.006032"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:53.449258" elapsed="0.007089"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:53.456739" elapsed="0.000481"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:53.462845" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:53.457989" elapsed="0.005077">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:53.457685" elapsed="0.005693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:53.457368" elapsed="0.006164">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:53.436822" elapsed="0.026959">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:53.419289" elapsed="0.044777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:55.467845" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:55.466572" elapsed="0.001375"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:55.469018" elapsed="0.000584"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:55.468202" elapsed="0.001524"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:55.468141" elapsed="0.001662"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:55.499721" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:55.500087" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:55.500334" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:55.487923" elapsed="0.012471"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:55.501300" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:55.500573" elapsed="0.000878"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:55.506940" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:55.501981" elapsed="0.005097"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:55.501631" elapsed="0.005524"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:55.500529" elapsed="0.006676"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:55.507485" elapsed="0.000400"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:55.516493" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:55.508587" elapsed="0.008366">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:55.508313" elapsed="0.009012">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:55.508008" elapsed="0.009569">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:55.486300" elapsed="0.031748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:55.465157" elapsed="0.053628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:57.521720" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_AUTH_FAILURE" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:57.520838" elapsed="0.000945"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:50:57.522480" elapsed="0.000435"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:57.521951" elapsed="0.001040"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:57.521908" elapsed="0.001160"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:57.546736" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:57.547039" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '553'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:57.547233" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:57.536826" elapsed="0.010460"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:57.548066" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:57.547440" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:57.552806" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:57.548475" elapsed="0.004434"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:57.548226" elapsed="0.004751"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:57.547403" elapsed="0.005639"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:57.553383" elapsed="0.000366"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:57.559551" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:57.554494" elapsed="0.005234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-09-12T23:50:57.554250" elapsed="0.005625">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:57.553859" elapsed="0.006139">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:57.535965" elapsed="0.024255">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:50:57.519970" elapsed="0.040444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-09-12T23:50:57.560618" level="FAIL">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_AUTH_FAILURE</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-12T23:49:25.675403" elapsed="91.885657">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-12T23:50:57.561420" elapsed="0.000044"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:57.563104" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-12T23:50:57.841360" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:50:57.841723" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:50:57.841816" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:50:57.841901" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:57.562745" elapsed="0.279203"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:57.843045" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:57.842385" elapsed="0.000840"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:57.843972" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-12T23:50:58.135355" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:50:58.135589" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:50:58.135673" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:50:58.135737" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:57.843567" elapsed="0.292196"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:58.136264" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-12T23:50:58.201616" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:50:58.201981" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-12T23:50:58.202102" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:50:58.202185" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:58.136027" elapsed="0.066207"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:58.202903" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-12T23:50:58.251539" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:58.202663" elapsed="0.049028"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:58.267236" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:58.267336" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:58.267530" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:58.251981" elapsed="0.015602"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:58.276561" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 path_url=/rests/data/netconf-keystore:keystore 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01e3locc8et1p0192u5qk6zva603.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:58.276865" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:50:58.277100" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:58.267926" elapsed="0.009228"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-12T23:50:57.562103" elapsed="0.715190"/>
</kw>
<doc>CallHome SSH device registered with wrong global credentials should fail to mount.</doc>
<status status="FAIL" start="2026-09-12T23:49:24.935739" elapsed="93.341654">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCwe+lbOpJ2LxLposoBswIVsrRWh6d5BLV8KLLIk9Ge9b2jU/5S9N+4y30Aoxr8RJI1PYOInBWG+DSRztuHWV5kmtI+Vx7/EOYpaaywjoxyaqaBgo93BJ8tBb1evrhCCsknTOUezq/KPAMH3ZsCmEDt6F027l4oXZt3TopZUmn0lSjKreWApR5ir290zZLSvTLKmq3e5X9iU6CjCat1cZu0A5s6eWxJ+9EOdkUxvlrF/Xo4HMmnzA2iB1wQTmK1IdXkTKWynKAmatbwMlf9Qy9tJ7OEy/uUo4VeY0jSLrbXdgYlrx9cU57qJ3cMlhCufbhyYkFw95KJK6CvqQoJ449v"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</test>
<test id="s1-s1-t5" name="CallHome with Incorrect Node-id" line="91">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:58.280680" level="INFO">Creating Session using : alias=session, url=http://10.30.170.178:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7dde61b9c4d0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-12T23:50:58.280138" elapsed="0.000833"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:58.281609" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-12T23:50:58.299286" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:58.281393" elapsed="0.018012"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:58.299928" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:50:58.838249" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:58.299728" elapsed="0.538711"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:58.839157" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-12T23:50:58.883733" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:50:58.883961" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCyTrXdbRGy5yTPrTCiSyosie6gTqwQ7b78N4us1jhE5eKJ9TPJETCihz8iEpy1cr9wUjwaPT6c71PAXZ4sf/dPKyUNAd6CVuroJkMWOUSKgYZpMED1YfvALsA+sxzesjXrW2IryGxy/Bo3CLLhfJ8NHsYkp7pYOkogoYM+xTCK...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:58.838868" elapsed="0.045266"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:50:58.892276" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCyTrXdbRGy5yTPrTCiSyosie6gTqwQ7b78N4us1jhE5eKJ9TPJETCihz8iEpy1cr9wUjwaPT6c71PAXZ4sf/dPKyUNAd6CVuroJkMWOUSKgYZpMED1YfvALsA+sxzesjXrW2IryGxy/Bo3CLLhfJ8NHsYkp7pYOkogoYM+xTCK...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:50:58.884495" elapsed="0.007880"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-12T23:50:58.279440" elapsed="0.613073"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:50:58.928562" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:50:58.893485" elapsed="0.035251"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:50:58.938295" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:50:58.929068" elapsed="0.009345"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-12T23:50:58.892909" elapsed="0.045633"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-12T23:50:58.947427" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:58.939844" elapsed="0.007695"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:50:58.948791" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:50:58.949093" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:50:58.948458" elapsed="0.000690"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:50:58.950190" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:50:58.949455" elapsed="0.000823"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:58.947909" elapsed="0.002478"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:58.947591" elapsed="0.002845"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:58.939798" elapsed="0.010683"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:58.951293" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}"...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:58.950787" elapsed="0.000561"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:58.952150" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
   ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:58.951636" elapsed="0.000567"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:58.952975" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:58.952487" elapsed="0.000562"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:58.953817" level="INFO">${body} = {
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
         ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:58.953334" elapsed="0.000536"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:58.975300" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '619', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "incorrect_hostname",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
          "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD"
        }
    }
}
 
 </msg>
<msg time="2026-09-12T23:50:58.975499" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01d62p6cyfv993j64bmowquf7b4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 11-Sep-2026 23:50:58 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=incorrect_hostname', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:58.975741" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:58.954157" elapsed="0.021638"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:50:58.976136" elapsed="0.004458"/>
</kw>
<arg>incorrect_hostname</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-12T23:50:58.939107" elapsed="0.041647"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:50:58.996234" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:50:58.996504" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:50:58.995912" elapsed="0.000643"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:50:58.997559" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:50:58.996889" elapsed="0.000789"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:58.995333" elapsed="0.002460"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:58.988371" elapsed="0.009471"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-12T23:50:58.998208" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:58.997892" elapsed="0.000417"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:58.988331" elapsed="0.010020"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:58.999149" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:58.998612" elapsed="0.000590"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:58.999973" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:58.999490" elapsed="0.000556"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:59.000813" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "{hostkey}"
        }
    }
}
</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:59.000334" elapsed="0.000533"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:50:59.001624" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCyTrXdbRGy5yTPrTCiSyosie6gTqwQ7b78N4us1jhE5eKJ9TPJETCihz8iEpy1...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:50:59.001175" elapsed="0.000534"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:59.014987" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node01d62p6cyfv993j64bmowquf7b4.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQCyTrXdbRGy5yTPrTCiSyosie6gTqwQ7b78N4us1jhE5eKJ9TPJETCihz8iEpy1cr9wUjwaPT6c71PAXZ4sf/dPKyUNAd6CVuroJkMWOUSKgYZpMED1YfvALsA+sxzesjXrW2IryGxy/Bo3CLLhfJ8NHsYkp7pYOkogoYM+xTCK5aartbewtBKlOH3V/eEM+3Vuloq8UshJk06EqCNdauGIpOezGm3hhPEcYigOjKuJJUSgBcYkRkuKGmnApJvjN78/EkKqg/zLs78MAtG8vwV9qRq8n5OkUs8k3qC2NjMisbCug1TFxQvBFEg8iTFL8JDdJoGuXqgANXw/p4SaA3Z/"
        }
    }
}
 
 </msg>
<msg time="2026-09-12T23:50:59.015113" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:59.015220" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:59.001979" elapsed="0.013272"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:50:59.015447" elapsed="0.004434"/>
</kw>
<arg>netopeer2</arg>
<arg>${NETOPEER_PUB_KEY}</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-12T23:50:58.981275" elapsed="0.038757"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:59.020779" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-12T23:50:59.296849" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:50:59.297207" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:50:59.297298" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:50:59.297380" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:59.020319" elapsed="0.277109"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:50:59.300789" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"DISCONNECTED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:50:59.299942" elapsed="0.000904"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="NOT RUN" start="2026-09-12T23:50:59.301559" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:59.301040" elapsed="0.000676"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:59.300972" elapsed="0.000803"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:59.326098" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01d62p6cyfv993j64bmowquf7b4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:59.326413" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '1082'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCyTrXdbRGy5yTPrTCiSyosie6gTqwQ7b78N4us1jhE5eKJ9TPJETCihz8iEpy1cr9wUjwaPT6c71PAXZ4sf/dPKyUNAd6CVuroJkMWOUSKgYZpMED1YfvALsA+sxzesjXrW2IryGxy/Bo3CLLhfJ8NHsYkp7pYOkogoYM+xTCK5aartbewtBKlOH3V/eEM+3Vuloq8UshJk06EqCNdauGIpOezGm3hhPEcYigOjKuJJUSgBcYkRkuKGmnApJvjN78/EkKqg/zLs78MAtG8vwV9qRq8n5OkUs8k3qC2NjMisbCug1TFxQvBFEg8iTFL8JDdJoGuXqgANXw/p4SaA3Z/"}}]}}} 
 </msg>
<msg time="2026-09-12T23:50:59.326674" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:59.316193" elapsed="0.010537"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:59.327524" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:59.326895" elapsed="0.000772"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:59.332318" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQCyTrXdbRGy5yTPrTCiSyosie6gTqwQ7b78N4us1jhE5eKJ9TPJETCihz8iEpy1cr9wUjwaPT6c71PAXZ4sf/dPKyUNAd6CVuroJkMWOUSKgYZpMED1YfvALsA+sxzesjXrW2IryGxy/Bo3CLLhfJ8NHsYkp7pYOkogoYM+xTCK5aartbewtBKlOH3V/eEM+3Vuloq8UshJk06EqCNdauGIpOezGm3hhPEcYigOjKuJJUSgBcYkRkuKGmnApJvjN78/EkKqg/zLs78MAtG8vwV9qRq8n5OkUs8k3qC2NjMisbCug1TFxQvBFEg8iTFL8JDdJoGuXqgANXw/p4SaA3Z/"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:59.327977" elapsed="0.004452"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:59.327721" elapsed="0.004777"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:59.326855" elapsed="0.005688"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:59.332828" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:50:59.333837" elapsed="0.004473"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-09-12T23:50:59.333558" elapsed="0.004834"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:50:59.338881" elapsed="0.004492"/>
</kw>
<var name="${i}">"device-status":"DISCONNECTED"</var>
<status status="PASS" start="2026-09-12T23:50:59.338556" elapsed="0.004898"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-09-12T23:50:59.333301" elapsed="0.010211"/>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="PASS" start="2026-09-12T23:50:59.315271" elapsed="0.028351"/>
</kw>
<arg>DISCONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="PASS" start="2026-09-12T23:50:59.299219" elapsed="0.044547"/>
</kw>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>DISCONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-12T23:50:59.297913" elapsed="0.045946"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Run Keyword And Expect Error" owner="BuiltIn">
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:50:59.387949" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig 
 path_url=/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01d62p6cyfv993j64bmowquf7b4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:50:59.388168" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/network-topology:network-topology/topology=topology-netconf?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '990'} 
 body={"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]} 
 </msg>
<msg time="2026-09-12T23:50:59.388307" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:50:59.353872" elapsed="0.034466"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:50:59.388982" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:50:59.388452" elapsed="0.000668"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:59.393766" level="INFO">{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:59.389424" elapsed="0.004451"/>
</kw>
<status status="PASS" start="2026-09-12T23:50:59.389171" elapsed="0.004774"/>
</branch>
<status status="PASS" start="2026-09-12T23:50:59.388423" elapsed="0.005587"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:50:59.394267" elapsed="0.000335"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:50:59.400029" level="FAIL">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:50:59.395297" elapsed="0.004978">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<var name="${i}">"connection-status":"connected"</var>
<status status="FAIL" start="2026-09-12T23:50:59.395029" elapsed="0.005402">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:50:59.394744" elapsed="0.005813">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</for>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:50:59.353258" elapsed="0.047639">'{"network-topology:topology":[{"topology-id":"topology-netconf","topology-types":{"netconf-node-topology:topology-netconf":{"ssh-transport-topology-parameters":{"mac":{"mac-alg":["hmac-sha2-256","hmac-sha2-512","hmac-sha1"]},"host-key":{"host-key-alg":["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","ssh-ed25519","rsa-sha2-512","rsa-sha2-256","ssh-rsa"]},"key-exchange":{"key-exchange-alg":["sntrup761x25519-sha512","mlkem768x25519-sha256","mlkem1024nistp384-sha384","mlkem768nistp256-sha256","curve25519-sha256","curve448-sha512","ecdh-sha2-nistp521","ecdh-sha2-nistp384","ecdh-sha2-nistp256","diffie-hellman-group-exchange-sha256","diffie-hellman-group18-sha512","diffie-hellman-group17-sha512","diffie-hellman-group16-sha512","diffie-hellman-group15-sha512","diffie-hellman-group14-sha256"]},"encryption":{"encryption-alg":["chacha20-poly1305","aes128-ctr","aes192-ctr","aes256-ctr","AEAD_AES_128_GCM","AEAD_AES_256_GCM","aes128-cbc","aes192-cbc","aes256-cbc"]}}}}}]}' does not contain '"connection-status":"connected"'</status>
</kw>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the keyword and checks that the expected error occurred.</doc>
<status status="PASS" start="2026-09-12T23:50:59.345043" elapsed="0.056221"/>
</kw>
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="PASS" start="2026-09-12T23:50:59.344207" elapsed="0.057171"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:59.402977" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-12T23:50:59.679162" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:50:59.679503" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:50:59.679601" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:50:59.679731" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:59.402601" elapsed="0.277182"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:50:59.680841" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:50:59.680210" elapsed="0.000716"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:59.681581" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-12T23:50:59.975124" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:50:59.975459" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:50:59.975568" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:50:59.975703" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:59.681241" elapsed="0.294512"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:50:59.976569" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-12T23:51:00.033262" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:51:00.033494" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-12T23:51:00.033586" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:51:00.033708" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:50:59.976174" elapsed="0.057581"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:51:00.034317" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-12T23:51:00.087460" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:51:00.034114" elapsed="0.053489"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:00.112521" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01d62p6cyfv993j64bmowquf7b4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:00.112697" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:00.112931" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:00.087943" elapsed="0.025066"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:00.120439" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 path_url=/rests/data/netconf-keystore:keystore 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node01d62p6cyfv993j64bmowquf7b4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:00.120745" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:51:00.120954" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:00.113328" elapsed="0.007704"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-12T23:50:59.401953" elapsed="0.719221"/>
</kw>
<doc>CallHome from device that does not have an entry in per-device credential with result to mount point failure.</doc>
<status status="PASS" start="2026-09-12T23:50:58.278310" elapsed="1.842951"/>
</test>
<test id="s1-s1-t6" name="CallHome with Rogue Devices" line="111">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:00.124560" level="INFO">Creating Session using : alias=session, url=http://10.30.170.178:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7dde60a1ab10&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-12T23:51:00.124043" elapsed="0.000832"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:51:00.125377" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-12T23:51:00.138143" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:51:00.125180" elapsed="0.013112"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:51:00.138882" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:51:00.409813" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:51:00.138619" elapsed="0.271418"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:51:00.410785" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-12T23:51:00.459385" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:51:00.459715" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQChRXfcjeGdKiO4+C9Kz4fSp794pgeN4fHltirKXlBFc0VgTM2235uM7FY26Wr03LoTLbUijQZpXuPNMUR85aS61QFgDyukzau1zXRVnLCYu/oRMFNMQtEx8Z07wuaqnpBns1WM/B0kYvkfRtSAzw1ybSNKTGGHLal1Y4dyFlTL...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:51:00.410429" elapsed="0.049347"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:51:00.467959" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQChRXfcjeGdKiO4+C9Kz4fSp794pgeN4fHltirKXlBFc0VgTM2235uM7FY26Wr03LoTLbUijQZpXuPNMUR85aS61QFgDyukzau1zXRVnLCYu/oRMFNMQtEx8Z07wuaqnpBns1WM/B0kYvkfRtSAzw1ybSNKTGGHLal1Y4dyFlTL...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:51:00.460168" elapsed="0.007915"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-12T23:51:00.123379" elapsed="0.344872"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:51:00.508030" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:51:00.469220" elapsed="0.038944"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:51:00.517442" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/ssh/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:51:00.508463" elapsed="0.009095"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-09-12T23:51:00.468614" elapsed="0.049121"/>
</kw>
<kw name="Register SSH call-home device in ODL controller" owner="NetconfCallHome">
<if>
<branch type="IF" condition="'${username}' == '${EMPTY}' or '${password}' == '${EMPTY}'">
<kw name="Get create device request without credentials template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-09-12T23:51:00.526120" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:00.519063" elapsed="0.007168"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:51:00.527426" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:51:00.527731" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<var>${template}</var>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:51:00.527137" elapsed="0.000648"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:51:00.528935" level="INFO">${template} = {
    "device": {
        "unique-id": "{device_name}",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
  ...</msg>
<arg>${template}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:51:00.528217" elapsed="0.000827"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:00.526563" elapsed="0.002593"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:00.526282" elapsed="0.002922"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:00.519016" elapsed="0.010232"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:51:00.530056" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "{username}",
              "passwords": [ "{password}" ]
      ...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{device_name}</arg>
<arg>${device_name}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:51:00.529519" elapsed="0.000593"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:51:00.530892" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "{password}" ]
          },...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{username}</arg>
<arg>${username}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:51:00.530396" elapsed="0.000550"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:51:00.531868" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{password}</arg>
<arg>${password}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:51:00.531340" elapsed="0.000584"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:51:00.532717" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
     ...</msg>
<var>${body}</var>
<arg>${body}</arg>
<arg>{hostkey}</arg>
<arg>${hostkey}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:51:00.532233" elapsed="0.000540"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:00.552049" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '610', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
          "credentials": {
              "username": "root",
              "passwords": [ "root" ]
          },
          "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD"
        }
    }
}
 
 </msg>
<msg time="2026-09-12T23:51:00.552198" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 11-Sep-2026 23:51:00 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:00.552428" level="INFO">${resp} = &lt;Response [201]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:00.533063" elapsed="0.019423"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="PASS" start="2026-09-12T23:51:00.552911" elapsed="0.005063"/>
</kw>
<arg>netopeer2</arg>
<arg>${INCORRECT_PUB_KEY}</arg>
<arg>root</arg>
<arg>root</arg>
<doc>Registration call-home device with SSH transport using latest models</doc>
<status status="PASS" start="2026-09-12T23:51:00.518306" elapsed="0.039844"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:51:00.558911" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-09-12T23:51:00.876009" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:51:00.876386" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:51:00.876489" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:51:00.876586" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:51:00.558482" elapsed="0.318155"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:00.881004" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:00.880032" elapsed="0.001040"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:00.881916" elapsed="0.000508"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:00.881254" elapsed="0.001257"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:00.881203" elapsed="0.001367"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:00.910328" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:00.910712" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:00.911010" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:00.899737" elapsed="0.011330"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:00.912058" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:00.911262" elapsed="0.001018"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:00.917513" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:00.912691" elapsed="0.004934"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:00.912340" elapsed="0.005408"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:00.911210" elapsed="0.006592"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:00.918106" elapsed="0.000396"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:00.924221" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:00.919258" elapsed="0.005122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:00.918958" elapsed="0.005578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:00.918624" elapsed="0.006082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:00.898534" elapsed="0.026426">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:00.879098" elapsed="0.046129">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:02.928992" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:02.927736" elapsed="0.001339"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:02.930041" elapsed="0.000510"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:02.929272" elapsed="0.001363"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:02.929223" elapsed="0.001503"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:02.956749" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:02.957150" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:02.957598" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:02.947086" elapsed="0.010645"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:02.959098" elapsed="0.000088"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:02.958042" elapsed="0.001248"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:02.965611" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:02.959824" elapsed="0.005984"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:02.959380" elapsed="0.006528"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:02.957943" elapsed="0.008062"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:02.966365" elapsed="0.000475"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:02.975167" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:02.967741" elapsed="0.007646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:02.967377" elapsed="0.008222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:02.967023" elapsed="0.008803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:02.946097" elapsed="0.030060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:02.926432" elapsed="0.050013">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:04.978513" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:04.977964" elapsed="0.000592"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:04.979058" elapsed="0.000268"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:04.978695" elapsed="0.000680"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:04.978664" elapsed="0.000745"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:04.996582" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:04.996886" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:04.997038" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:04.988190" elapsed="0.008883"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:04.997574" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:04.997179" elapsed="0.000492"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:05.000603" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:04.997875" elapsed="0.002821"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:04.997705" elapsed="0.003037"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:04.997152" elapsed="0.003619"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:05.000939" elapsed="0.000277"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:05.004510" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:05.001621" elapsed="0.002988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:05.001464" elapsed="0.003265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:05.001295" elapsed="0.003517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:04.987629" elapsed="0.017341">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:04.977344" elapsed="0.027814">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:07.008218" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:07.007295" elapsed="0.000991"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:07.009080" elapsed="0.000425"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:07.008458" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:07.008414" elapsed="0.001222"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:07.034495" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:07.034847" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:07.035125" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:07.025039" elapsed="0.010147"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:07.036032" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:07.035351" elapsed="0.000828"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:07.041029" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:07.036493" elapsed="0.004644"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:07.036231" elapsed="0.004980"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:07.035309" elapsed="0.005948"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:07.041539" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:07.047360" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:07.042601" elapsed="0.004925">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:07.042334" elapsed="0.005452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:07.042062" elapsed="0.005881">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:07.024055" elapsed="0.024106">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:07.006365" elapsed="0.042095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:09.051416" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:09.050385" elapsed="0.001097"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:09.052298" elapsed="0.000573"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:09.051716" elapsed="0.001265"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:09.051613" elapsed="0.001424"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:09.079763" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:09.080260" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:09.080602" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:09.068309" elapsed="0.012424"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:09.082220" elapsed="0.000084"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:09.081043" elapsed="0.001370"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:09.089818" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:09.082977" elapsed="0.007046"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:09.082497" elapsed="0.007642"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:09.080970" elapsed="0.009249"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:09.090633" elapsed="0.000628"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:09.100224" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:09.092326" elapsed="0.008143">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:09.091903" elapsed="0.008867">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:09.091440" elapsed="0.009589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:09.067333" elapsed="0.034187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:09.049376" elapsed="0.052521">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:11.105087" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:11.104066" elapsed="0.001092"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:11.105956" elapsed="0.000450"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:11.105343" elapsed="0.001150"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:11.105295" elapsed="0.001257"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:11.133709" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:11.134052" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:11.134292" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:11.121928" elapsed="0.012425"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:11.135282" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:11.134533" elapsed="0.000901"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:11.140525" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:11.135805" elapsed="0.004876"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:11.135490" elapsed="0.005271"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:11.134488" elapsed="0.006323"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:11.141114" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:11.147230" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:11.142221" elapsed="0.005170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:11.141949" elapsed="0.005601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:11.141605" elapsed="0.006207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:11.120954" elapsed="0.027113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:11.103074" elapsed="0.045213">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:13.151375" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:13.150338" elapsed="0.001104"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:13.152236" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:13.151618" elapsed="0.001165"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:13.151573" elapsed="0.001264"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:13.176765" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:13.177097" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:13.177324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:13.167633" elapsed="0.009748"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:13.178324" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:13.177636" elapsed="0.000811"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:13.183523" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:13.178784" elapsed="0.004937"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:13.178498" elapsed="0.005303"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:13.177577" elapsed="0.006269"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:13.184137" elapsed="0.000352"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:13.189862" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:13.185267" elapsed="0.004768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:13.184992" elapsed="0.005285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:13.184608" elapsed="0.005801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:13.166765" elapsed="0.023854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:13.149242" elapsed="0.041614">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:15.192617" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:15.192084" elapsed="0.000595"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:15.193126" elapsed="0.000230"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:15.192804" elapsed="0.000590"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:15.192770" elapsed="0.000653"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:15.207606" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:15.207797" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:15.207910" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:15.199916" elapsed="0.008019"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:15.208320" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:15.208017" elapsed="0.000359"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:15.210481" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:15.208520" elapsed="0.002010"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:15.208399" elapsed="0.002164"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:15.207995" elapsed="0.002589"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:15.210715" elapsed="0.000184"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:15.213478" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:15.211202" elapsed="0.002415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:15.211083" elapsed="0.002625">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:15.210956" elapsed="0.002812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:15.199447" elapsed="0.014436">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:15.191496" elapsed="0.022482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:17.216993" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:17.216028" elapsed="0.001035"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:17.217813" elapsed="0.000487"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:17.217246" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:17.217200" elapsed="0.001238"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:17.244448" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:17.244817" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:17.245059" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:17.233207" elapsed="0.011910"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:17.246154" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:17.245330" elapsed="0.000956"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:17.251861" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:17.246598" elapsed="0.005480"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:17.246336" elapsed="0.005821"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:17.245255" elapsed="0.006951"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:17.252526" elapsed="0.000451"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:17.258620" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:17.253736" elapsed="0.005136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:17.253382" elapsed="0.005653">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:17.253102" elapsed="0.006099">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:17.232196" elapsed="0.027253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:17.215096" elapsed="0.044606">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:19.261466" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:19.260988" elapsed="0.000517"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:19.261932" elapsed="0.000230"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:19.261609" elapsed="0.000594"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:19.261582" elapsed="0.000650"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:19.278462" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:19.278729" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:19.279014" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:19.270676" elapsed="0.008375"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:19.279682" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:19.279190" elapsed="0.000568"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:19.282706" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:19.279986" elapsed="0.002790"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:19.279793" elapsed="0.003041"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:19.279154" elapsed="0.003712"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:19.283041" elapsed="0.000221"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:19.286847" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:19.283709" elapsed="0.003307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:19.283517" elapsed="0.003659">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:19.283341" elapsed="0.003942">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:19.269993" elapsed="0.017442">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:19.260423" elapsed="0.027148">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:21.290127" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:21.289277" elapsed="0.000912"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:21.290912" elapsed="0.000404"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:21.290357" elapsed="0.001036"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:21.290313" elapsed="0.001130"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:21.314728" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:21.315133" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:21.315333" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:21.305307" elapsed="0.010080"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:21.316219" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:21.315548" elapsed="0.000806"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:21.320991" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:21.316688" elapsed="0.004406"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:21.316404" elapsed="0.004760"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:21.315509" elapsed="0.005700"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:21.321459" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:21.327616" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:21.322450" elapsed="0.005366">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:21.322209" elapsed="0.005757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:21.321953" elapsed="0.006140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:21.304447" elapsed="0.023851">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:21.288413" elapsed="0.040081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:23.331266" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:23.330381" elapsed="0.000950"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:23.332088" elapsed="0.000421"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:23.331505" elapsed="0.001084"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:23.331461" elapsed="0.001210"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:23.356862" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:23.357232" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:23.357464" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:23.347044" elapsed="0.010474"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:23.358428" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:23.357723" elapsed="0.000827"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:23.363469" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:23.358922" elapsed="0.004652"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:23.358603" elapsed="0.005074"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:23.357679" elapsed="0.006046"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:23.364011" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:23.369727" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:23.365069" elapsed="0.004836">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:23.364814" elapsed="0.005241">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:23.364494" elapsed="0.005717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:23.346059" elapsed="0.024405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:23.329482" elapsed="0.041417">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:25.372979" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:25.372305" elapsed="0.000719"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:25.373489" elapsed="0.000292"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:25.373148" elapsed="0.000678"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:25.373115" elapsed="0.000744"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:25.391690" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:25.391965" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:25.392176" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:25.383056" elapsed="0.009157"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:25.392899" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:25.392370" elapsed="0.000608"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:25.396168" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:25.393212" elapsed="0.003027"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:25.393012" elapsed="0.003273"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:25.392333" elapsed="0.003984"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:25.396493" elapsed="0.000244"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:25.400097" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:25.397176" elapsed="0.003029">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:25.397001" elapsed="0.003304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:25.396831" elapsed="0.003558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:25.382366" elapsed="0.018245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:25.371676" elapsed="0.029102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:27.403378" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:27.402500" elapsed="0.000942"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:27.404181" elapsed="0.000407"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:27.403615" elapsed="0.001082"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:27.403571" elapsed="0.001200"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:27.430269" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:27.430569" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:27.430864" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:27.418535" elapsed="0.012387"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:27.431807" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:27.431089" elapsed="0.000841"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:27.437007" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:27.432255" elapsed="0.004860"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:27.431981" elapsed="0.005206"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:27.431047" elapsed="0.006186"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:27.437487" elapsed="0.000428"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:27.443621" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:27.438544" elapsed="0.005312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:27.438293" elapsed="0.005719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:27.438034" elapsed="0.006215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:27.417699" elapsed="0.026767">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:27.401624" elapsed="0.043072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:29.446795" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:29.446130" elapsed="0.000713"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:29.447342" elapsed="0.000293"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:29.446973" elapsed="0.000736"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:29.446940" elapsed="0.000824"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:29.466436" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:29.466711" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:29.466895" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:29.457002" elapsed="0.009934"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:29.467599" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:29.467088" elapsed="0.000626"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:29.471012" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:29.467971" elapsed="0.003113"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:29.467776" elapsed="0.003354"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:29.467049" elapsed="0.004113"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:29.471340" elapsed="0.000234"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:29.475008" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:29.472040" elapsed="0.003072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:29.471863" elapsed="0.003422">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:29.471672" elapsed="0.003702">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:29.456439" elapsed="0.019083">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:29.445452" elapsed="0.030227">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:31.477136" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:31.476717" elapsed="0.000452"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:31.477506" elapsed="0.000235"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:31.477257" elapsed="0.000521"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:31.477235" elapsed="0.000567"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:31.492369" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:31.492526" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:31.492626" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:31.484127" elapsed="0.008548"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:31.493036" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:31.492767" elapsed="0.000322"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:31.495128" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:31.493227" elapsed="0.001948"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:31.493112" elapsed="0.002094"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:31.492749" elapsed="0.002478"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:31.495343" elapsed="0.000156"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:31.497832" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:31.495813" elapsed="0.002150">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:31.495687" elapsed="0.002347">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:31.495551" elapsed="0.002539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:31.483754" elapsed="0.014429">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:31.476243" elapsed="0.022025">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:33.500959" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:33.500088" elapsed="0.000949"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:33.501786" elapsed="0.000444"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:33.501210" elapsed="0.001098"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:33.501166" elapsed="0.001196"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:33.529630" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:33.530006" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:33.530228" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:33.517317" elapsed="0.012963"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:33.531137" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:33.530438" elapsed="0.000819"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:33.536178" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:33.531559" elapsed="0.004819"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:33.531307" elapsed="0.005143"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:33.530398" elapsed="0.006097"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:33.536800" elapsed="0.000335"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:33.544917" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:33.537792" elapsed="0.007274">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:33.537504" elapsed="0.007709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:33.537247" elapsed="0.008091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:33.516255" elapsed="0.029285">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:33.499200" elapsed="0.046583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:35.547535" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:35.547045" elapsed="0.000530"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:35.548012" elapsed="0.000248"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:35.547715" elapsed="0.000591"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:35.547684" elapsed="0.000655"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:35.564100" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:35.564271" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:35.564439" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:35.556323" elapsed="0.008142"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:35.564939" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:35.564566" elapsed="0.000429"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:35.567338" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:35.565143" elapsed="0.002243"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:35.565020" elapsed="0.002397"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:35.564543" elapsed="0.002894"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:35.567570" elapsed="0.000227"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:35.570249" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:35.568109" elapsed="0.002234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:35.567988" elapsed="0.002439">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:35.567859" elapsed="0.002642">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:35.555822" elapsed="0.014796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:35.546458" elapsed="0.024304">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:37.573615" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:37.572688" elapsed="0.001045"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:37.574508" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:37.573929" elapsed="0.001182"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:37.573877" elapsed="0.001290"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:37.602208" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:37.602732" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:37.603020" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:37.590757" elapsed="0.012319"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:37.604107" elapsed="0.000219"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:37.603294" elapsed="0.001115"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:37.609543" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:37.604824" elapsed="0.004870"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:37.604480" elapsed="0.005289"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:37.603247" elapsed="0.006570"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:37.610077" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:37.615602" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:37.611110" elapsed="0.004690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:37.610852" elapsed="0.005096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:37.610536" elapsed="0.005538">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:37.589741" elapsed="0.026542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:37.571606" elapsed="0.044873">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:39.619557" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:39.618578" elapsed="0.001130"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:39.620580" elapsed="0.000637"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:39.619955" elapsed="0.001351"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:39.619900" elapsed="0.001462"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:39.648217" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:39.648525" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:39.648821" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:39.636485" elapsed="0.012395"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:39.649788" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:39.649048" elapsed="0.000867"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:39.655491" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:39.650232" elapsed="0.005446"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:39.649968" elapsed="0.005804"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:39.649006" elapsed="0.006815"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:39.656117" elapsed="0.000442"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:39.663198" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:39.657512" elapsed="0.005849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:39.657179" elapsed="0.006337">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:39.656771" elapsed="0.006927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:39.635423" elapsed="0.028573">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:39.617592" elapsed="0.046713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:41.667243" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:41.666301" elapsed="0.001008"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:41.668134" elapsed="0.000432"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:41.667510" elapsed="0.001192"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:41.667449" elapsed="0.001311"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:41.694238" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:41.694571" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:41.694865" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:41.683171" elapsed="0.011754"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:41.695835" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:41.695102" elapsed="0.000875"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:41.700923" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:41.696297" elapsed="0.004748"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:41.696031" elapsed="0.005098"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:41.695059" elapsed="0.006116"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:41.701437" elapsed="0.000428"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:41.707394" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:41.702569" elapsed="0.004985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:41.702277" elapsed="0.005484">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:41.701985" elapsed="0.005933">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:41.682215" elapsed="0.026017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:41.665319" elapsed="0.043146">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:43.711447" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:43.710537" elapsed="0.000978"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:43.712273" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:43.711746" elapsed="0.001083"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:43.711697" elapsed="0.001188"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:43.737918" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:43.738223" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:43.738447" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:43.727276" elapsed="0.011227"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:43.739364" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:43.738722" elapsed="0.000763"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:43.744408" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:43.739888" elapsed="0.004633"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:43.739536" elapsed="0.005082"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:43.738679" elapsed="0.006019"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:43.744963" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:43.750859" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:43.746033" elapsed="0.004981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:43.745779" elapsed="0.005385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:43.745457" elapsed="0.005943">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:43.726373" elapsed="0.025303">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:43.709404" elapsed="0.042483">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:45.754788" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:45.753859" elapsed="0.001008"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:45.755673" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:45.755058" elapsed="0.001182"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:45.755011" elapsed="0.001282"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:45.781250" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:45.781553" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:45.781811" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:45.771011" elapsed="0.010857"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:45.782723" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:45.782059" elapsed="0.000788"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:45.787689" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:45.783187" elapsed="0.004613"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:45.782897" elapsed="0.004974"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:45.782016" elapsed="0.005899"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:45.788313" elapsed="0.000429"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:45.794722" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:45.789404" elapsed="0.005476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:45.789136" elapsed="0.005992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:45.788860" elapsed="0.006400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:45.770071" elapsed="0.025429">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:45.752902" elapsed="0.042878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:47.798496" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:47.797606" elapsed="0.000976"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:47.799321" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:47.798793" elapsed="0.001091"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:47.798747" elapsed="0.001204"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:47.825941" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:47.826252" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:47.826477" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:47.814716" elapsed="0.011821"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:47.827363" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:47.826762" elapsed="0.000741"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:47.832507" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:47.827923" elapsed="0.004755"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:47.827593" elapsed="0.005160"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:47.826718" elapsed="0.006078"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:47.833058" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:47.839125" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:47.834298" elapsed="0.005097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:47.833981" elapsed="0.005617">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:47.833607" elapsed="0.006157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:47.813795" elapsed="0.026183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:47.796743" elapsed="0.043438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:49.842877" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:49.841988" elapsed="0.000956"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:49.843708" elapsed="0.000430"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:49.843119" elapsed="0.001103"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:49.843074" elapsed="0.001203"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:49.869453" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:49.869815" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:49.870039" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:49.858901" elapsed="0.011192"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:49.870919" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:49.870256" elapsed="0.000783"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:49.875707" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:49.871340" elapsed="0.004560"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:49.871088" elapsed="0.004887"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:49.870215" elapsed="0.005805"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:49.876278" elapsed="0.000392"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:49.881892" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:49.877299" elapsed="0.004743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:49.877049" elapsed="0.005143">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:49.876785" elapsed="0.005533">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:49.857994" elapsed="0.024528">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:49.841107" elapsed="0.041671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:51.885534" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:51.884628" elapsed="0.000982"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:51.886343" elapsed="0.000529"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:51.885820" elapsed="0.001134"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:51.885772" elapsed="0.001234"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:51.913604" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:51.913941" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:51.914261" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:51.901879" elapsed="0.012464"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:51.915337" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:51.914626" elapsed="0.000875"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:51.920501" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:51.915889" elapsed="0.004852"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:51.915586" elapsed="0.005234"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:51.914497" elapsed="0.006369"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:51.921170" elapsed="0.000411"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:51.927981" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:51.922281" elapsed="0.005886">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:51.922001" elapsed="0.006332">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:51.921730" elapsed="0.006753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:51.900951" elapsed="0.027817">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:51.883745" elapsed="0.045292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:53.932112" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:53.931086" elapsed="0.001093"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:53.933006" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:53.932365" elapsed="0.001219"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:53.932313" elapsed="0.001380"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:53.959360" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:53.959882" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:53.960105" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:53.948547" elapsed="0.011614"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:53.961110" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:53.960357" elapsed="0.000877"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:53.966264" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:53.961583" elapsed="0.004804"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:53.961285" elapsed="0.005198"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:53.960291" elapsed="0.006269"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:53.966858" elapsed="0.000354"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:53.972856" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:53.967985" elapsed="0.005031">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:53.967721" elapsed="0.005453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:53.967329" elapsed="0.006025">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:53.947599" elapsed="0.026019">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:53.930144" elapsed="0.043714">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:55.975787" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:55.975249" elapsed="0.000577"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:55.976239" elapsed="0.000261"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:55.975935" elapsed="0.000613"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:55.975906" elapsed="0.000675"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:55.993073" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:55.993262" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:55.993391" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:55.984450" elapsed="0.008971"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:55.993898" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:55.993529" elapsed="0.000435"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:55.996599" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:55.994138" elapsed="0.002534"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:55.993993" elapsed="0.002718"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:55.993505" elapsed="0.003231"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:55.996878" elapsed="0.000197"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:56.000019" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:55.997441" elapsed="0.002672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:55.997293" elapsed="0.002907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:55.997142" elapsed="0.003130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:55.984017" elapsed="0.016375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:55.974697" elapsed="0.025891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:51:58.003563" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:51:58.002561" elapsed="0.001074"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:51:58.004416" elapsed="0.000602"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:58.003856" elapsed="0.001254"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:58.003807" elapsed="0.001359"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:51:58.031302" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:51:58.031705" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:51:58.031933" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:51:58.020130" elapsed="0.011857"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:51:58.032954" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:51:58.032158" elapsed="0.000925"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:51:58.038165" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:51:58.033422" elapsed="0.004854"/>
</kw>
<status status="PASS" start="2026-09-12T23:51:58.033135" elapsed="0.005232"/>
</branch>
<status status="PASS" start="2026-09-12T23:51:58.032116" elapsed="0.006305"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:51:58.038897" elapsed="0.000369"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:51:58.045559" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:51:58.040073" elapsed="0.005683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:51:58.039812" elapsed="0.006102">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:51:58.039427" elapsed="0.006615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:51:58.019155" elapsed="0.027219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:58.001573" elapsed="0.045123">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:00.049358" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:00.048503" elapsed="0.000919"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:00.050170" elapsed="0.000442"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:00.049624" elapsed="0.001099"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:00.049579" elapsed="0.001199"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:00.077381" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:00.077754" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:00.077967" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:00.064853" elapsed="0.013169"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:00.078896" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:00.078194" elapsed="0.000851"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:00.083967" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:00.079360" elapsed="0.004713"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:00.079094" elapsed="0.005050"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:00.078151" elapsed="0.006040"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:00.084484" elapsed="0.000406"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:00.090370" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:00.085567" elapsed="0.004985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:00.085277" elapsed="0.005457">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:00.085007" elapsed="0.005976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:00.063912" elapsed="0.027298">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:00.047616" elapsed="0.043801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:02.094298" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:02.093363" elapsed="0.001001"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:02.095246" elapsed="0.000536"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:02.094613" elapsed="0.001258"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:02.094555" elapsed="0.001372"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:02.122214" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:02.122579" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:02.122920" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:02.111338" elapsed="0.011643"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:02.123969" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:02.123177" elapsed="0.000924"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:02.129334" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:02.124450" elapsed="0.005014"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:02.124155" elapsed="0.005380"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:02.123128" elapsed="0.006453"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:02.129878" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:02.135457" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:02.130926" elapsed="0.004691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:02.130632" elapsed="0.005262">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:02.130343" elapsed="0.005684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:02.110365" elapsed="0.025874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:02.092436" elapsed="0.044024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:04.140103" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:04.138931" elapsed="0.001260"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:04.141188" elapsed="0.000631"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:04.140459" elapsed="0.001467"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:04.140368" elapsed="0.001632"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:04.167024" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:04.167248" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:04.167382" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:04.156726" elapsed="0.010713"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:04.168214" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:04.167548" elapsed="0.000793"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:04.173791" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:04.168761" elapsed="0.005146"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:04.168433" elapsed="0.005550"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:04.167520" elapsed="0.006548"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:04.174411" elapsed="0.000419"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:04.181231" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:04.175564" elapsed="0.005968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:04.175264" elapsed="0.006472">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:04.174955" elapsed="0.006923">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:04.155983" elapsed="0.026119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:04.137687" elapsed="0.044629">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:06.185333" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:06.184328" elapsed="0.001104"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:06.186247" elapsed="0.000538"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:06.185624" elapsed="0.001251"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:06.185569" elapsed="0.001365"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:06.211811" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:06.212130" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:06.212396" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:06.201226" elapsed="0.011232"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:06.213441" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:06.212714" elapsed="0.000853"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:06.218696" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:06.213943" elapsed="0.004974"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:06.213621" elapsed="0.005373"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:06.212608" elapsed="0.006431"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:06.219304" elapsed="0.000421"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:06.225266" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:06.220462" elapsed="0.005005">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:06.220137" elapsed="0.005487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:06.219841" elapsed="0.005949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:06.200285" elapsed="0.025715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:06.183340" elapsed="0.042931">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:08.229291" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:08.228278" elapsed="0.001142"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:08.230254" elapsed="0.000507"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:08.229607" elapsed="0.001241"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:08.229561" elapsed="0.001343"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:08.257226" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:08.257578" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:08.258130" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:08.246525" elapsed="0.011667"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:08.259415" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:08.258446" elapsed="0.001102"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:08.265162" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:08.259991" elapsed="0.005311"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:08.259599" elapsed="0.005811"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:08.258394" elapsed="0.007066"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:08.265823" elapsed="0.000377"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:08.272082" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:08.267045" elapsed="0.005258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:08.266781" elapsed="0.005712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:08.266429" elapsed="0.006194">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:08.245521" elapsed="0.027349">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:08.227268" elapsed="0.045796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:10.276226" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:10.275244" elapsed="0.001053"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:10.277160" elapsed="0.000547"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:10.276526" elapsed="0.001272"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:10.276477" elapsed="0.001382"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:10.306798" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:10.307242" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:10.307506" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:10.294141" elapsed="0.013424"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:10.308694" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:10.307789" elapsed="0.001030"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:10.316402" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:10.309144" elapsed="0.007371"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:10.308868" elapsed="0.007720"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:10.307741" elapsed="0.008926"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:10.316952" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:10.323126" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:10.318083" elapsed="0.005204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:10.317806" elapsed="0.005667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:10.317484" elapsed="0.006122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:10.293072" elapsed="0.030785">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:10.274212" elapsed="0.049852">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:12.327260" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:12.326019" elapsed="0.001359"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:12.328417" elapsed="0.000678"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:12.327624" elapsed="0.001583"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:12.327558" elapsed="0.001727"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:12.355407" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:12.355739" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:12.355938" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:12.343911" elapsed="0.012081"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:12.356811" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:12.356151" elapsed="0.000777"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:12.361575" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:12.357230" elapsed="0.004479"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:12.356978" elapsed="0.004803"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:12.356111" elapsed="0.005716"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:12.362081" elapsed="0.000359"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:12.367741" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:12.363087" elapsed="0.004808">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:12.362842" elapsed="0.005200">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:12.362552" elapsed="0.005613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:12.343032" elapsed="0.025358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:12.325117" elapsed="0.043594">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:14.371962" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:14.371045" elapsed="0.000985"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:14.372819" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:14.372209" elapsed="0.001156"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:14.372165" elapsed="0.001257"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:14.401981" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:14.402278" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:14.402540" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:14.389921" elapsed="0.012673"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:14.403694" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:14.402799" elapsed="0.001025"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:14.409164" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:14.404141" elapsed="0.005129"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:14.403875" elapsed="0.005497"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:14.402755" elapsed="0.006663"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:14.409713" elapsed="0.000401"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:14.415779" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:14.410990" elapsed="0.004944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:14.410728" elapsed="0.005355">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:14.410310" elapsed="0.005896">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:14.388517" elapsed="0.028076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:14.370040" elapsed="0.046919">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:16.419979" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:16.418996" elapsed="0.001055"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:16.420947" elapsed="0.000489"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:16.420294" elapsed="0.001233"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:16.420206" elapsed="0.001381"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:16.452928" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:16.453363" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:16.453750" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:16.440079" elapsed="0.013765"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:16.454888" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:16.454088" elapsed="0.000948"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:16.462468" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:16.455565" elapsed="0.007132"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:16.455115" elapsed="0.007702"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:16.454032" elapsed="0.008844"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:16.463213" elapsed="0.000472"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:16.472116" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:16.464741" elapsed="0.007591">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:16.464300" elapsed="0.008211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:16.463853" elapsed="0.008978">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:16.438784" elapsed="0.034300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:16.417962" elapsed="0.055365">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:18.475114" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:18.474600" elapsed="0.000553"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:18.475609" elapsed="0.000258"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:18.475279" elapsed="0.000633"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:18.475235" elapsed="0.000710"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:18.492384" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:18.492571" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:18.492712" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:18.483810" elapsed="0.008933"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:18.493210" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:18.492845" elapsed="0.000447"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:18.496217" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:18.493514" elapsed="0.002780"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:18.493320" elapsed="0.003014"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:18.492818" elapsed="0.003542"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:18.496506" elapsed="0.000212"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:18.499613" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:18.497078" elapsed="0.002643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:18.496933" elapsed="0.002943">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:18.496784" elapsed="0.003167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:18.483312" elapsed="0.016761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:18.474020" elapsed="0.026169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:20.503077" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:20.502124" elapsed="0.001023"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:20.503946" elapsed="0.000498"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:20.503362" elapsed="0.001164"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:20.503311" elapsed="0.001286"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:20.535495" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:20.535905" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:20.536163" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:20.523532" elapsed="0.012759"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:20.537332" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:20.536548" elapsed="0.000922"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:20.542403" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:20.537829" elapsed="0.004687"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:20.537523" elapsed="0.005067"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:20.536486" elapsed="0.006181"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:20.542947" elapsed="0.000390"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:20.549883" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:20.544076" elapsed="0.006084">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:20.543816" elapsed="0.006530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:20.543458" elapsed="0.007017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:20.522506" elapsed="0.028218">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:20.501169" elapsed="0.049765">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:22.553810" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:22.552913" elapsed="0.000965"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:22.554606" elapsed="0.000454"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:22.554055" elapsed="0.001087"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:22.554009" elapsed="0.001212"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:22.580908" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:22.581289" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:22.581500" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:22.569792" elapsed="0.011764"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:22.582435" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:22.581767" elapsed="0.000790"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:22.588097" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:22.582904" elapsed="0.005439"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:22.582607" elapsed="0.005835"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:22.581724" elapsed="0.006785"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:22.588865" elapsed="0.000440"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:22.595243" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:22.590058" elapsed="0.005346">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:22.589762" elapsed="0.005797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:22.589425" elapsed="0.006294">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:22.568899" elapsed="0.027030">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:22.552017" elapsed="0.044137">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:24.599109" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:24.598224" elapsed="0.000978"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:24.600031" elapsed="0.000503"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:24.599376" elapsed="0.001313"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:24.599333" elapsed="0.001420"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:24.627680" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:24.628007" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:24.628365" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:24.616474" elapsed="0.011945"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:24.629323" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:24.628588" elapsed="0.000874"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:24.634933" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:24.629906" elapsed="0.005180"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:24.629528" elapsed="0.005684"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:24.628545" elapsed="0.006716"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:24.635522" elapsed="0.000377"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:24.641446" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:24.636585" elapsed="0.005011">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:24.636334" elapsed="0.005441">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:24.636026" elapsed="0.005874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:24.615551" elapsed="0.026554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:24.597132" elapsed="0.045203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:26.645037" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:26.644125" elapsed="0.000981"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:26.645905" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:26.645317" elapsed="0.001146"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:26.645272" elapsed="0.001246"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:26.671421" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:26.671879" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:26.672108" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:26.661576" elapsed="0.010611"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:26.672999" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:26.672354" elapsed="0.000761"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:26.678339" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:26.673440" elapsed="0.005007"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:26.673187" elapsed="0.005334"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:26.672315" elapsed="0.006253"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:26.678927" elapsed="0.000412"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:26.684821" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:26.680076" elapsed="0.004909">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:26.679775" elapsed="0.005405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:26.679462" elapsed="0.005858">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:26.660302" elapsed="0.025233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:26.643283" elapsed="0.042489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:28.688406" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:28.687558" elapsed="0.000910"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:28.689196" elapsed="0.000406"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:28.688634" elapsed="0.001076"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:28.688593" elapsed="0.001172"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:28.716119" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:28.716477" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:28.716742" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:28.703852" elapsed="0.012947"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:28.717714" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:28.716992" elapsed="0.000842"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:28.722788" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:28.718171" elapsed="0.004741"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:28.717885" elapsed="0.005113"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:28.716944" elapsed="0.006106"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:28.723374" elapsed="0.000396"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:28.729724" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:28.724444" elapsed="0.005444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:28.724174" elapsed="0.005873">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:28.723882" elapsed="0.006317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:28.702915" elapsed="0.027504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:28.686745" elapsed="0.044168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:30.733765" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:30.732832" elapsed="0.001000"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:30.734632" elapsed="0.000466"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:30.734007" elapsed="0.001197"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:30.733963" elapsed="0.001295"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:30.761786" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:30.762096" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:30.762356" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:30.749915" elapsed="0.012498"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:30.763355" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:30.762633" elapsed="0.000862"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:30.768465" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:30.763882" elapsed="0.004707"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:30.763556" elapsed="0.005139"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:30.762584" elapsed="0.006159"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:30.769009" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:30.775251" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:30.770077" elapsed="0.005376">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:30.769823" elapsed="0.005860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:30.769519" elapsed="0.006329">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:30.748950" elapsed="0.027267">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:30.731898" elapsed="0.044532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-09-12T23:52:32.779129" level="INFO">@{expected_values} = [ "unique-id":"netopeer2" | "device-status":"FAILED_NOT_ALLOWED" ]</msg>
<var>@{expected_values}</var>
<arg>"unique-id":"${id}"</arg>
<arg>"device-status":"${status}"</arg>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-09-12T23:52:32.778258" elapsed="0.000938"/>
</kw>
<if>
<branch type="IF" condition="'${status}'=='FAILED_NOT_ALLOWED' or '${status}'=='FAILED_AUTH_FAILURE'">
<kw name="Remove Values From List" owner="Collections">
<arg>${expected_values}</arg>
<arg>"unique-id":"${id}"</arg>
<doc>Removes all occurrences of given ``values`` from ``list``.</doc>
<status status="PASS" start="2026-09-12T23:52:32.779917" elapsed="0.000496"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:32.779370" elapsed="0.001130"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:32.779325" elapsed="0.001228"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:32.807536" level="INFO">GET Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:32.807883" level="INFO">GET Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server?content=nonconfig 
 status=200, reason=OK 
 headers={'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '608'} 
 body={"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-09-12T23:52:32.808139" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>${session}</arg>
<arg>url=${uri}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:32.795963" elapsed="0.012231"/>
</kw>
<if>
<branch type="IF" condition="&quot;${pretty_print_json}&quot; == &quot;True&quot;">
<kw name="Log Content" owner="Utils">
<arg>${resp.text}</arg>
<status status="NOT RUN" start="2026-09-12T23:52:32.809020" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-09-12T23:52:32.808367" elapsed="0.000787"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:32.814414" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:32.809477" elapsed="0.005049"/>
</kw>
<status status="PASS" start="2026-09-12T23:52:32.809206" elapsed="0.005394"/>
</branch>
<status status="PASS" start="2026-09-12T23:52:32.808323" elapsed="0.006357"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<arg>200</arg>
<arg>${resp}</arg>
<doc>Fails if response status code is different than the expected.</doc>
<status status="PASS" start="2026-09-12T23:52:32.814951" elapsed="0.000445"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:32.820857" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>${resp.text}</arg>
<arg>${i}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:32.816262" elapsed="0.004751">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_NOT_ALLOWED"</var>
<status status="FAIL" start="2026-09-12T23:52:32.815954" elapsed="0.005229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-09-12T23:52:32.815515" elapsed="0.005885">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</for>
<arg>${device_status}</arg>
<arg>${expected_values}</arg>
<doc>A GET is made at the supplied ${URI} and every item in the list of
${elements} is verified to exist in the response</doc>
<status status="FAIL" start="2026-09-12T23:52:32.794866" elapsed="0.026748">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:32.777367" elapsed="0.044476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<msg time="2026-09-12T23:52:32.822027" level="FAIL">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</msg>
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>FAILED_NOT_ALLOWED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="FAIL" start="2026-09-12T23:51:00.877268" elapsed="91.944986">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Run Keyword And Expect Error</arg>
<arg>*</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:32.822685" elapsed="0.000072"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:32.824412" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-12T23:52:33.153151" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:52:33.153485" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:52:33.153576" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:52:33.153697" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:32.824048" elapsed="0.329699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:33.154954" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:33.154271" elapsed="0.000774"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.155803" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-12T23:52:33.509064" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:52:33.509438" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:52:33.509531" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:52:33.509615" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.155407" elapsed="0.354305"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.510573" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-12T23:52:33.581867" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:33.582230" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-12T23:52:33.582323" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:52:33.582403" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.510164" elapsed="0.072285"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.583151" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-12T23:52:33.629730" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.582886" elapsed="0.047027"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:33.648473" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:33.648578" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:33.648820" level="INFO">${resp} = &lt;Response [204]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:33.630426" elapsed="0.018450"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:33.659388" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 path_url=/rests/data/netconf-keystore:keystore 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0pdt8aguf42v819nyhiervqzqo5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:33.659739" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:52:33.659994" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:33.649214" elapsed="0.010842"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-12T23:52:32.823396" elapsed="0.836874"/>
</kw>
<doc>A Rogue Device will fail to callhome and wont be able to mount because the keys are not added in whitelist.
FAILED_NOT_ALLOWED should be the device status.</doc>
<status status="FAIL" start="2026-09-12T23:51:00.122031" elapsed="93.538352">Keyword 'NetconfCallHome.Check Device Status' failed after retrying for 1 minute 30 seconds. The last error was: '{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVrqHbtlv9FV0sXmRsmaoaMls3dmyI5+BTazkGxLkwdm+VF/J++eSCgn2cUejZyjIZ1giuPVR4tCrj+j5Chxs+6N1ADU0k5SQU0edwyNVym6g7L0x6+dn9EhB69pPjWmRjeSpvQ31Fy4JdzFb4WLocXugciyjydWIsfJPXRAuU8SakGmfah6mrrnrdimrWtok47m8I4kQ5rzb0o4MCWbKpFf8xXwgEnl3PiHkKV5lBejPPppU5EZ5olkF029ZPGoeYqRk2X/Sjjpjtv16A4WEIF3KpJ4wcSfvhxwy//IAlSmoy40RDTXQnf4oumGBBnPM0x+WXUCJRJ3ZSjB/UbOD","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</test>
<test id="s1-s1-t7" name="CallHome over TLS with correct certificate and key" line="131">
<kw name="Test Setup" owner="NetconfCallHome" type="SETUP">
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:33.664733" level="INFO">Creating Session using : alias=session, url=http://10.30.170.178:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7dde61b873d0&gt;, timeout=None, proxies=None, verify=False,                     debug=0 </msg>
<arg>session</arg>
<arg>http://${ODL_SYSTEM_IP}:${RESTCONFPORT}</arg>
<arg>auth=${AUTH}</arg>
<doc>Create Session: create a HTTP session to a server</doc>
<status status="PASS" start="2026-09-12T23:52:33.664018" elapsed="0.001015"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.666200" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-09-12T23:52:33.679538" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files &amp;&amp; mkdir configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.665353" elapsed="0.014390"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.680403" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key'.</msg>
<msg time="2026-09-12T23:52:33.821121" level="INFO">Command exited with return code 0.</msg>
<arg>ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./configuration-files/ssh_host_rsa_key</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.680148" elapsed="0.141158"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.822020" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-09-12T23:52:33.873347" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:33.873577" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCxrBOoCTTrUKezxqkg+2Af48IG/TkyZPrR8O/rr3AYBsshOaTZsl+hZb6X/pInTeE1vInidDHF2W8Hsde83VUcFBcEgS8Sxx+MTHGRP4+sjzpZolAg1lOAdlitofGPVw+Jo5Cu3GBv+JkqS5235yzgAJccJ2lCRjYrL6KpyGg+...</msg>
<var>${public_key}</var>
<arg>cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}'</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.821755" elapsed="0.051853"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-09-12T23:52:33.878564" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCxrBOoCTTrUKezxqkg+2Af48IG/TkyZPrR8O/rr3AYBsshOaTZsl+hZb6X/pInTeE1vInidDHF2W8Hsde83VUcFBcEgS8Sxx+MTHGRP4+sjzpZolAg1lOAdlitofGPVw+Jo5Cu3GBv+JkqS5235yzgAJccJ2lCRjYrL6KpyGg+...</msg>
<arg>${NETOPEER_PUB_KEY}</arg>
<arg>${public_key}</arg>
<doc>Makes a variable available everywhere within the scope of the current test.</doc>
<status status="PASS" start="2026-09-12T23:52:33.873901" elapsed="0.004714"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-09-12T23:52:33.663423" elapsed="0.215273"/>
</kw>
<kw name="Apply TLS-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Generate certificates for TLS configuration" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.879607" level="INFO">Executing command 'rm -rf ./certs &amp;&amp; mkdir ./certs'.</msg>
<msg time="2026-09-12T23:52:33.925917" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:33.926279" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>rm -rf ./certs &amp;&amp; mkdir ./certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.879506" elapsed="0.046836"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.975459" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg' -&gt; '/home/jenkins/./x509_v3.cfg'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg</arg>
<arg>./x509_v3.cfg</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:52:33.926737" elapsed="0.049021"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:33.976448" level="INFO">Executing command 'openssl genrsa -out ./certs/ca.key 2048'.</msg>
<msg time="2026-09-12T23:52:34.465714" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:34.466021" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/ca.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:33.976194" elapsed="0.489905"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:34.466864" level="INFO">Executing command 'openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem'.</msg>
<msg time="2026-09-12T23:52:34.523440" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:34.523858" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -x509 -new -extensions v3_ca -nodes -key ./certs/ca.key -sha256 -days 365 -subj "/C=US/ST=CA/L=Netopeer/O=netopeerCA/CN=netopeerCA" -out ./certs/ca.pem</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:34.466494" elapsed="0.057435"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:34.524776" level="INFO">Executing command 'openssl genrsa -out ./certs/server.key 2048'.</msg>
<msg time="2026-09-12T23:52:34.998556" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:34.998878" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/server.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:34.524431" elapsed="0.474499"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:34.999589" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr'.</msg>
<msg time="2026-09-12T23:52:35.063690" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.063861" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/server.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-server" -out ./certs/server.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:34.999331" elapsed="0.064558"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.064229" level="INFO">Executing command 'openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256'.</msg>
<msg time="2026-09-12T23:52:35.119841" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.120210" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/server.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/server.crt -days 365 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.064102" elapsed="0.056166"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.120919" level="INFO">Executing command 'openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub'.</msg>
<msg time="2026-09-12T23:52:35.183839" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.184043" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.120626" elapsed="0.063464"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.184440" level="INFO">Executing command 'openssl genrsa -out ./certs/client.key 2048'.</msg>
<msg time="2026-09-12T23:52:35.419018" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.419362" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl genrsa -out ./certs/client.key 2048</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.184308" elapsed="0.235109"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.420156" level="INFO">Executing command 'openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr'.</msg>
<msg time="2026-09-12T23:52:35.486034" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.486362" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl req -new -sha256 -key ./certs/client.key -subj "/C=US/ST=CA/L=Netopeer/O=Netopeer2/CN=netopeer2-client" -out ./certs/client.csr</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.419855" elapsed="0.066564"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.487143" level="INFO">Executing command 'openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256'.</msg>
<msg time="2026-09-12T23:52:35.551895" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.552317" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>openssl x509 -req -in ./certs/client.csr -CA ./certs/ca.pem -CAkey ./certs/ca.key -CAcreateserial -extfile x509_v3.cfg -out ./certs/client.crt -days 1024 -sha256</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.486854" elapsed="0.065550"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.553108" level="INFO">Executing command 'mv ./certs ./configuration-files/certs'.</msg>
<msg time="2026-09-12T23:52:35.605751" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.606044" level="INFO">${stdout} = </msg>
<var>${stdout}</var>
<arg>mv ./certs ./configuration-files/certs</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.552839" elapsed="0.053320"/>
</kw>
<doc>Generates certificates for 2-way TLS authentication (ca, server, client)</doc>
<status status="PASS" start="2026-09-12T23:52:33.879255" elapsed="1.727094"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.656951" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml' -&gt; '/home/jenkins/configuration-files/ietf-keystore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-keystore.xml</arg>
<arg>configuration-files/ietf-keystore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:52:35.606727" elapsed="0.050454"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.668957" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml' -&gt; '/home/jenkins/configuration-files/ietf-truststore.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-truststore.xml</arg>
<arg>configuration-files/ietf-truststore.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:52:35.657612" elapsed="0.011618"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.679437" level="INFO">'/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml' -&gt; '/home/jenkins/configuration-files/ietf-netconf-server.xml'</msg>
<arg>/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/libraries/../variables/netconf/callhome/configuration-files/tls/ietf-netconf-server.xml</arg>
<arg>configuration-files/ietf-netconf-server.xml</arg>
<doc>Uploads file(s) from the local machine to the remote machine.</doc>
<status status="PASS" start="2026-09-12T23:52:35.669542" elapsed="0.010029"/>
</kw>
<doc>Upload netopeer2 configuration files needed for TLS transport</doc>
<status status="PASS" start="2026-09-12T23:52:33.878908" elapsed="1.800846"/>
</kw>
<kw name="Register keys and certificates in ODL controller" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.681331" level="INFO">Executing command 'cat ./configuration-files/certs/client.key'.</msg>
<msg time="2026-09-12T23:52:35.695096" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:35.695340" level="INFO">${pem-client-key} = -----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCwErMthPiof6WG
WkwbPMWCYUpRcnEvgT3kyxlPOCfzZL1RiRJZc8ccmxVpdhmOY1hvzirUre5zu6vV
Yx0u12MmyXp2xPBRG37au+NAXoRPkg3oRn87dNCTjk...</msg>
<msg time="2026-09-12T23:52:35.695436" level="INFO">${stderr} = </msg>
<var>${pem-client-key}</var>
<var>${stderr}</var>
<arg>cat ./configuration-files/certs/client.key</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.680981" elapsed="0.014504"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-09-12T23:52:35.696185" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json"&gt;/w/workspace/netconf-csit-1node-callhome-only-vanadium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json&lt;/a&gt;'.</msg>
<msg time="2026-09-12T23:52:35.696489" level="INFO">${template} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "{pem-client-key}",
                "passphrase": ""
            }...</msg>
<var>${template}</var>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="PASS" start="2026-09-12T23:52:35.695840" elapsed="0.000704"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-09-12T23:52:35.697419" level="INFO">${body} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwg...</msg>
<var>${body}</var>
<arg>${template}</arg>
<arg>{pem-client-key}</arg>
<arg>${pem-client-key}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="PASS" start="2026-09-12T23:52:35.696890" elapsed="0.000586"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:35.762785" level="INFO">POST Request : url=http://10.30.170.178:8181/rests/operations/netconf-keystore:add-keystore-entry 
 path_url=/rests/operations/netconf-keystore:add-keystore-entry 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '1906', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCwErMthPiof6WG
WkwbPMWCYUpRcnEvgT3kyxlPOCfzZL1RiRJZc8ccmxVpdhmOY1hvzirUre5zu6vV
Yx0u12MmyXp2xPBRG37au+NAXoRPkg3oRn87dNCTjkYYD+QDpmWemWxZnmGRBqkZ
PMpn/9UKS4N38g8KzavBsCQrhY5TQv0u6mao1k2g/tS/4GIi9G24dxvtR7s9T2jJ
QOXSEtEepN/cHPvnPl/j6zqq/HI0b2C4WDyzx0UFkyLeeq3ktwx9f2OJPWxWu/qO
UytCoJEc//O1sRKkRESoeQAhLS9QwLjY5lbI/KWFkCk8WnOqGK0E8QuNRXQikVe9
LUhXYiRbAgMBAAECggEAOvN/31k6gfv++R1JhwMRZAZcAioNgGjGxtBDYJU+Nw0/
H8oDhUSw4UCBakZ65wQXK5P9HilAAarPrQnazwCZd3aU1Kg6iAVrMyQeQcKDjTqr
Al58IfWKEiVcDZlgb+Jp+rCGqPjQ1OREgKksYaaz9xbyZRn79FOJUre9XH8CeJiS
hT7zRITYL2Mzo3cBfLGm4ONIyghElkfMW7+QQeycCdraFQN4ui9D8UAeYUKJAwJe
DQFiVzSh8thgwqRraEi5RuxrzMHVWcQx2SkhDlJgP6hx+4TY0TzoEyL957ifVHxG
WPMwemBrhPZYMBMxsdI/7Fewt4d4u4c+HNrboSK0TQKBgQDZIXSNrTtkTVXnRdy1
9myhB/fB5pvqdv4FFWlZNsWrIRQlGObr7OLnJ9Pr0Aolwzy653we0qqf58USNFTH
DgrreMJq60y3+I2HQuqGRKHn6JQAOs9FSqampq3sF300bGw39TyX3Hfg5fbFmsQi
1OEafMeWCeSgAjA3nWcRoqJeRQKBgQDPl62NA7NbYRh34+gppJA0ZsjMXQdPu5vt
aWWNZPDyF0TKa8jzf1GYGdPju0oZpmZuLBnq+E/O5UxtdmvDJDVyeYtfbFfHrOWu
zxNJiUfDwJdDPasEOWCnfF7Ns6NhFiP4px4TrVCK5y1LRBKm8h3VG5PCyrmF2QN2
WkuqS6ZyHwKBgQC3jkPE/ZyG16X2ZKYIIfGFVIILppNKbBukWox7wgTq/YTVM68L
5W+QcKgD4xShBeLSMp1IRVm+4qVEFX9R47oxhB3/Wzm5EOM8ZMJ0jZK9xW1QoGbW
shweKCxBuT28UqhNygDWdKfXNTEfrg1/UK2XwcLMQULITfFLIsKeMvnGbQKBgG1Y
H3ofcOG5CwJbcXY90BdJ7Ip4ldlRoJg04+DOQnvB9eIJVBeuAHR1Zj6V8DoChAGU
CTLTCHaaIN+neKuY7u4VR2xDzRjH4VNqj2Y0gTCCySoJ2YKoFlkiEW2YKX6CAwB+
RkFnEP2ZNypl+M0myr/tfq8jyQTPghtdBG322v1RAoGAHfr7v/dUTsOR8cneL0rG
/CRlsdwxeihV/M1ChMUpTG9LpYtZWwohH6G/19pk7NbTMqxPp4TtvazwCgoS+bXP
pjlpyIf0IfFL2mMYDJHdlJEidFGHcgzzmvOsLtFjDAuK1muhfzrsJoEZ5AeWkmNO
9RqwyLU3QV24lmK+dJmA7zU=
-----END PRIVATE KEY-----",
                "passphrase": ""
            }
        ]
    }
}
 
 </msg>
<msg time="2026-09-12T23:52:35.763188" level="INFO">POST Response : url=http://10.30.170.178:8181/rests/operations/netconf-keystore:add-keystore-entry 
 status=500, reason=Internal Server Error 
 headers={'Set-Cookie': 'JSESSIONID=node0l35radiz1pwoj0fh95sqcu956.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 11-Sep-2026 23:52:35 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Type': 'application/yang-data+json', 'Content-Length': '302'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "operation-failed",
        "error-info": "Unhandled private key class org.bouncycastle.asn1.pkcs.PrivateKeyInfo",
        "error-message": "Failed to decode private key tls-device-key",
        "error-type": "application"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:52:35.763528" level="INFO">${resp} = &lt;Response [500]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-keystore-entry</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:35.697791" elapsed="0.065797"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-09-12T23:52:35.769460" level="FAIL">'[200, 201, 204]' does not contain '500'</msg>
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="FAIL" start="2026-09-12T23:52:35.764110" elapsed="0.005498">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${client-key}</var>
<arg>client.key</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.770085" elapsed="0.000061"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${certificate-chain}</var>
<arg>client.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.770539" elapsed="0.000078"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.771174" elapsed="0.000061"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{client-key}</arg>
<arg>${client-key}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.771622" elapsed="0.000085"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{certificate-chain}</arg>
<arg>${certificate-chain}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.772007" elapsed="0.000079"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-private-key</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.772383" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.772840" elapsed="0.000053"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${ca-certificate}</var>
<arg>ca.pem</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.773369" elapsed="0.000058"/>
</kw>
<kw name="Get certificate file content" owner="NetconfCallHome">
<var>${device-certificate}</var>
<arg>server.crt</arg>
<doc>Get certificate or key file content</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.773861" elapsed="0.000053"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<var>${template}</var>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<doc>Returns the contents of a specified file.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.774213" elapsed="0.000057"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${template}</arg>
<arg>{ca-certificate}</arg>
<arg>${ca-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.774556" elapsed="0.000042"/>
</kw>
<kw name="Replace String" owner="String">
<var>${body}</var>
<arg>${body}</arg>
<arg>{device-certificate}</arg>
<arg>${device-certificate}</arg>
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.774902" elapsed="0.000042"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_url}:add-trusted-certificate</arg>
<arg>data=${body}</arg>
<arg>headers=${HEADERS}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a POST request on a previously created HTTP Session.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.775254" elapsed="0.000046"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<arg>${ALLOWED_STATUS_CODES}</arg>
<arg>${resp.status_code}</arg>
<doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.775582" elapsed="0.000039"/>
</kw>
<doc>Register pre-configured netopeer2 certificates and key in ODL-netconf keystore</doc>
<status status="FAIL" start="2026-09-12T23:52:35.680336" elapsed="0.095542">'[200, 201, 204]' does not contain '500'</status>
</kw>
<kw name="Register TLS call-home device in ODL controller" owner="NetconfCallHome">
<arg>netopeer2</arg>
<arg>tls-device-key</arg>
<arg>tls-device-certificate</arg>
<doc>Registration call-home device with TLS transport</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.776282" elapsed="0.000051"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose up -d</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.776608" elapsed="0.000075"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>90s</arg>
<arg>2s</arg>
<arg>NetconfCallHome.Check Device Status</arg>
<arg>CONNECTED</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.777014" elapsed="0.000073"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<arg>30s</arg>
<arg>2s</arg>
<arg>Utils.Check For Elements At URI</arg>
<arg>${mount_point_url}</arg>
<arg>${netconf_mount_expected_values}</arg>
<doc>Runs the specified keyword and retries if it fails.</doc>
<status status="NOT RUN" start="2026-09-12T23:52:35.777468" elapsed="0.000048"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:35.779257" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-09-12T23:52:36.127445" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:52:36.127809" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:52:36.127904" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:52:36.127993" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose logs</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:35.778839" elapsed="0.349201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-09-12T23:52:36.129189" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-09-12T23:52:36.128489" elapsed="0.000791"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:36.129954" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-09-12T23:52:36.501477" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-09-12T23:52:36.501852" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:52:36.501943" level="INFO">${stderr} = client version 1.21 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version</msg>
<msg time="2026-09-12T23:52:36.502026" level="INFO">${rc} = 1</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker-compose down</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:36.129572" elapsed="0.372535"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:36.502954" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-09-12T23:52:36.573618" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:36.573997" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-09-12T23:52:36.574116" level="INFO">${stderr} = </msg>
<msg time="2026-09-12T23:52:36.574202" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>docker ps -a</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:36.502500" elapsed="0.071749"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:36.575217" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-09-12T23:52:36.629449" level="INFO">Command exited with return code 0.</msg>
<arg>rm -rf ./configuration-files</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:36.574926" elapsed="0.054695"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:36.639230" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 path_url=/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0l35radiz1pwoj0fh95sqcu956.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:36.639525" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '270'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:52:36.639782" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${whitelist}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:36.630018" elapsed="0.009824"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:36.650431" level="INFO">DELETE Request : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 path_url=/rests/data/netconf-keystore:keystore 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'JSESSIONID=node0l35radiz1pwoj0fh95sqcu956.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-09-12T23:52:36.650772" level="INFO">DELETE Response : url=http://10.30.170.178:8181/rests/data/netconf-keystore:keystore 
 status=409, reason=Conflict 
 headers={'Content-Type': 'application/yang-data+json', 'Content-Length': '228'} 
 body={
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Data does not exist",
        "error-path": "/netconf-keystore:keystore",
        "error-type": "protocol"
      }
    ]
  }
} 
 </msg>
<msg time="2026-09-12T23:52:36.651035" level="INFO">${resp} = &lt;Response [409]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${netconf_keystore_data_url}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a DELETE request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-09-12T23:52:36.640197" elapsed="0.010922"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-09-12T23:52:35.778184" elapsed="0.873106"/>
</kw>
<doc>Using correct certificate and key pair should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-09-12T23:52:33.661757" elapsed="2.989632">'[200, 201, 204]' does not contain '500'</status>
</test>
<kw name="Suite Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Uninstall Docker Compose on tools system" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-09-12T23:52:36.655812" level="INFO">Executing command 'pip uninstall docker-compose'.</msg>
<msg time="2026-09-12T23:52:37.401599" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-09-12T23:52:37.401972" level="INFO">${stdout} = </msg>
<msg time="2026-09-12T23:52:37.402100" level="INFO">${stderr} = WARNING: Skipping docker-compose as it is not installed.</msg>
<msg time="2026-09-12T23:52:37.402188" level="INFO">${rc} = 0</msg>
<var>${stdout}</var>
<var>${stderr}</var>
<var>${rc}</var>
<arg>pip uninstall docker-compose</arg>
<arg>return_stdout=True</arg>
<arg>return_stderr=True</arg>
<arg>return_rc=True</arg>
<doc>Executes ``command`` on the remote machine and returns its outputs.</doc>
<status status="PASS" start="2026-09-12T23:52:36.655344" elapsed="0.746912"/>
</kw>
<doc>Uninstall docker-compose on tools system</doc>
<status status="PASS" start="2026-09-12T23:52:36.654861" elapsed="0.747573"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-09-12T23:52:37.402952" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-09-12T23:52:37.402768" elapsed="0.001153"/>
</kw>
<kw name="Close All Connections" owner="SSHLibrary">
<doc>Closes all open connections.</doc>
<status status="PASS" start="2026-09-12T23:52:37.404225" elapsed="0.000738"/>
</kw>
<doc>Tearing down the setup.</doc>
<status status="PASS" start="2026-09-12T23:52:36.654333" elapsed="0.750778"/>
</kw>
<doc>Test suite to verify callhome functionality over SSH transport protocol. Registration in OpenDaylight
Controller happens via restconf interface. Netopeer2-server docker container plays a role of the
netconf device with call-home feature. Docker-compose file is used to configure netopeer2 docker
container(netconf configuration templates, host-key).</doc>
<status status="FAIL" start="2026-09-12T23:44:36.149967" elapsed="481.255272"/>
</suite>
<status status="FAIL" start="2026-09-12T23:44:36.110937" elapsed="481.297631"/>
</suite>
<statistics>
<total>
<stat pass="1" fail="6" skip="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat name="netconf-callhome.txt" id="s1" pass="1" fail="6" skip="0">netconf-callhome.txt</stat>
<stat name="Callhome" id="s1-s1" pass="1" fail="6" skip="0">netconf-callhome.txt.Callhome</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
