<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.4.2 (Python 3.11.10 on linux)" generated="2026-08-29T23:11:06.496713" rpa="false" schemaversion="5">
<suite id="s1" name="netconf-gate-callhome.txt" source="/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/suites/netconf/callhome">
<suite id="s1-s1" name="Callhome" source="/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:06.992349" 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-08-29T23:11:06.991774" elapsed="0.000622"/>
</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-08-29T23:11:06.994590" level="INFO">Length is 0.</msg>
<msg time="2026-08-29T23:11:06.994671" 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-08-29T23:11:06.994104" elapsed="0.000594"/>
</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-08-29T23:11:06.994862" elapsed="0.000372"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-29T23:11:06.996170" level="INFO">Logging into '10.30.171.5:22' as 'jenkins'.</msg>
<msg time="2026-08-29T23:11:07.451970" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Sat Aug 29 23:10:39 UTC 2026

  System load:  0.18               Processes:             109
  Usage of /:   20.6% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.5
  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.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


[?2004h[jenkins@releng-51161-105-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-08-29T23:11:06.995690" elapsed="0.456638"/>
</kw>
<msg time="2026-08-29T23:11:07.452537" 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-08-29T23:11:06.995378" elapsed="0.457363"/>
</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-08-29T23:11:06.993651" elapsed="0.459400"/>
</kw>
<msg time="2026-08-29T23:11:07.453169" 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-08-29T23:11:06.993152" elapsed="0.460126"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-08-29T23:11:06.992580" elapsed="0.460869"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-08-29T23:11:07.453584" elapsed="0.000105"/>
</return>
<msg time="2026-08-29T23:11:07.454122" 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-08-29T23:11:06.991331" elapsed="0.462846"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:07.455710" 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-08-29T23:11:07.454604" elapsed="0.001202"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-29T23:11:07.459687" 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-08-29T23:11:07.456149" elapsed="0.003612"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Read Until Prompt" owner="SSHLibrary">
<msg time="2026-08-29T23:11:08.192227" 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
100 8053k  100 8053k    0     0  11.4M      0 --:--:-- --:--:-- --:--:-- 11.4M
[?2004h[jenkins@releng-51161-105-1-docker-0 ~]&gt;</msg>
<doc>Consumes and returns the server output until the prompt is found.</doc>
<status status="PASS" start="2026-08-29T23:11:07.461400" elapsed="0.731007"/>
</kw>
<msg time="2026-08-29T23:11:08.192596" 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-08-29T23:11:07.460696" elapsed="0.731929"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:08.193199" level="INFO">Executing command 'sudo chmod +x /usr/local/bin/docker-compose'.</msg>
<msg time="2026-08-29T23:11:08.215745" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:11:08.215900" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:11:08.215941" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:11:08.215987" 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-08-29T23:11:08.192904" elapsed="0.023102"/>
</kw>
<doc>Install docker-compose on tools system.</doc>
<status status="PASS" start="2026-08-29T23:11:06.987992" elapsed="1.228101"/>
</kw>
<kw name="Pull Netopeer2 Docker Image" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:08.216838" level="INFO">Executing command 'docker pull sysrepo/sysrepo-netopeer2:latest'.</msg>
<msg time="2026-08-29T23:11:16.183496" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:11:16.184085" level="INFO">${stdout} = latest: Pulling from sysrepo/sysrepo-netopeer2
399fb1102f3f: Pulling fs layer
d51af753c3d3: Pulling fs layer
fc878cd0a91c: Pulling fs layer
6154df8ff988: Pulling fs layer
9b0152ba3415: Pulling fs laye...</msg>
<msg time="2026-08-29T23:11:16.184187" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:11:16.184268" 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-08-29T23:11:08.216668" elapsed="7.967647"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.185429" level="INFO">Executing command 'docker images'.</msg>
<msg time="2026-08-29T23:11:16.296996" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:11:16.297318" level="INFO">${stdout} = IMAGE                              ID             DISK USAGE   CONTENT SIZE   EXTRA
sysrepo/sysrepo-netopeer2:latest   36cc1d841c97        914MB          232MB        </msg>
<msg time="2026-08-29T23:11:16.297409" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:11:16.297488" 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-08-29T23:11:16.184909" elapsed="0.112624"/>
</kw>
<doc>Pulls the netopeer image from the docker repository.</doc>
<status status="PASS" start="2026-08-29T23:11:08.216412" elapsed="8.081358"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.339032" level="INFO">[chan 4] Opened sftp connection (server version 3)</msg>
<msg time="2026-08-29T23:11:16.349041" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/docker-compose.yaml' -&gt; '/home/jenkins//docker-compose.yaml'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.298159" elapsed="0.051011"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.357957" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/init_configuration.sh' -&gt; '/home/jenkins//init_configuration.sh'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.349520" elapsed="0.008554"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.358704" level="INFO">Executing command 'sed -i -e 's/ODL_SYSTEM_IP/10.30.171.169/g' docker-compose.yaml'.</msg>
<msg time="2026-08-29T23:11:16.371702" 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-08-29T23:11:16.358365" elapsed="0.013539"/>
</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-08-29T23:11:16.410991" elapsed="0.000636"/>
</kw>
<msg time="2026-08-29T23:11:16.411728" 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-08-29T23:11:16.410442" elapsed="0.001433"/>
</kw>
<arg>sulfur</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return 4334 if titanium is at least ${lower_bound},
return 6666 otherwise.</doc>
<status status="PASS" start="2026-08-29T23:11:16.410006" elapsed="0.002004"/>
</kw>
<msg time="2026-08-29T23:11:16.412069" 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-08-29T23:11:16.392702" elapsed="0.019425"/>
</kw>
<msg time="2026-08-29T23:11:16.412268" level="INFO">${netconf_cl_ssh_port} = 4334</msg>
<var>${netconf_cl_ssh_port}</var>
<arg>4334</arg>
<arg>6666</arg>
<doc>Compare sulfur to titanium and return ${value_if_true} if titanium is at least sulfur, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-29T23:11:16.391977" elapsed="0.020322"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.412651" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_SSH/4334/g' docker-compose.yaml'.</msg>
<msg time="2026-08-29T23:11:16.425260" 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-08-29T23:11:16.412475" elapsed="0.012906"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.425927" level="INFO">Executing command 'sed -i -e 's/NETCONF_CH_TLS/4335/g' docker-compose.yaml'.</msg>
<msg time="2026-08-29T23:11:16.475962" 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-08-29T23:11:16.425667" elapsed="0.050420"/>
</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-08-29T23:11:16.506941" elapsed="0.000896"/>
</kw>
<msg time="2026-08-29T23:11:16.507970" 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-08-29T23:11:16.506198" elapsed="0.001881"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return "connection-status":"connected" if titanium is at least ${lower_bound},
return "netconf-node-topology:connection-status":"connected" otherwise.</doc>
<status status="PASS" start="2026-08-29T23:11:16.505524" elapsed="0.002708"/>
</kw>
<msg time="2026-08-29T23:11:16.508447" 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-08-29T23:11:16.491053" elapsed="0.017486"/>
</kw>
<msg time="2026-08-29T23:11:16.508811" 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 titanium and return ${value_if_true} if titanium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-29T23:11:16.490475" elapsed="0.018422"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.509759" 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-08-29T23:11:16.509215" elapsed="0.000596"/>
</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-08-29T23:11:16.529086" elapsed="0.000518"/>
</kw>
<msg time="2026-08-29T23:11:16.529667" 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-08-29T23:11:16.528630" elapsed="0.001119"/>
</kw>
<arg>scandium</arg>
<arg>${value_if_true}</arg>
<arg>${value_if_false}</arg>
<doc>Compare ${lower_bound} to titanium and return "available-capabilities" if titanium is at least ${lower_bound},
return "netconf-node-topology:available-capabilities" otherwise.</doc>
<status status="PASS" start="2026-08-29T23:11:16.528243" elapsed="0.001615"/>
</kw>
<msg time="2026-08-29T23:11:16.529913" 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-08-29T23:11:16.519461" elapsed="0.010507"/>
</kw>
<msg time="2026-08-29T23:11:16.530093" level="INFO">${substring3} = "available-capabilities"</msg>
<var>${substring3}</var>
<arg>"available-capabilities"</arg>
<arg>"netconf-node-topology:available-capabilities"</arg>
<doc>Compare scandium to titanium and return ${value_if_true} if titanium is at least scandium, return ${value_if_false} otherwise.</doc>
<status status="PASS" start="2026-08-29T23:11:16.519153" elapsed="0.010969"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.530768" 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-08-29T23:11:16.530304" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.531433" 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-08-29T23:11:16.531021" elapsed="0.000463"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.535757" level="INFO">${CREATE_GLOBAL_CREDENTIALS_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_global_credentials.json</msg>
<arg>${CREATE_GLOBAL_CREDENTIALS_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.531664" elapsed="0.004152"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.539624" level="INFO">${CREATE_SSH_DEVICE_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_ssh_device.json</msg>
<arg>${CREATE_SSH_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.536026" elapsed="0.003639"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.542484" level="INFO">${CREATE_SSH_DEVICE_REQ_HOST_KEY_ONLY} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:11:16.539815" elapsed="0.002710"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.545888" level="INFO">${CREATE_TLS_DEVICE_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/create_tls_device.json</msg>
<arg>${CREATE_TLS_DEVICE_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.542663" elapsed="0.003267"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.549122" level="INFO">${ADD_KEYSTORE_ENTRY_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_keystore_entry.json</msg>
<arg>${ADD_KEYSTORE_ENTRY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.546069" elapsed="0.003103"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.552664" level="INFO">${ADD_PRIVATE_KEY_REQ} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_private_key.json</msg>
<arg>${ADD_PRIVATE_KEY_REQ}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.549330" elapsed="0.003391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.556095" level="INFO">${ADD_TRUSTED_CERTIFICATE} = /w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/json/add_trusted_certificate.json</msg>
<arg>${ADD_TRUSTED_CERTIFICATE}</arg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:11:16.553004" elapsed="0.003144"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.556453" level="INFO">Executing command 'ssh-keygen -q -t rsa -b 2048 -N '' -m pem -f ./incorrect_ssh_host_rsa_key'.</msg>
<msg time="2026-08-29T23:11:16.720872" 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-08-29T23:11:16.556321" elapsed="0.164775"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.721828" level="INFO">Executing command 'awk '{print $2}' incorrect_ssh_host_rsa_key.pub'.</msg>
<msg time="2026-08-29T23:11:16.772993" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:11:16.773369" level="INFO">${incorrect_public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDv...</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-08-29T23:11:16.721524" elapsed="0.051904"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:16.782074" level="INFO">${INCORRECT_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDv...</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-08-29T23:11:16.773988" elapsed="0.008183"/>
</kw>
<doc>Get the suite ready for callhome test cases.</doc>
<status status="PASS" start="2026-08-29T23:11:06.987629" elapsed="9.794676"/>
</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-08-29T23:11:16.784954" level="INFO">Creating Session using : alias=session, url=http://10.30.171.169:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7b4b72dcbd10&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-08-29T23:11:16.784357" elapsed="0.001221"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.786123" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-29T23:11:16.824159" 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-08-29T23:11:16.785922" elapsed="0.038397"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.824971" 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-08-29T23:11:16.977433" 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-08-29T23:11:16.824688" elapsed="0.152951"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:16.978424" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-29T23:11:17.024226" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:11:17.024493" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc4...</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-08-29T23:11:16.978138" elapsed="0.046411"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:17.032805" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc4...</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-08-29T23:11:17.025019" elapsed="0.007909"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-29T23:11:16.783793" elapsed="0.249275"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:11:17.074085" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:11:17.034109" elapsed="0.040095"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:11:17.084897" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:11:17.074489" elapsed="0.010527"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-29T23:11:17.033476" elapsed="0.051665"/>
</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-08-29T23:11:17.093346" elapsed="0.000144"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:17.086478" elapsed="0.007074"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-29T23:11:17.094910" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:11:17.095220" 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-08-29T23:11:17.094534" elapsed="0.000740"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:11:17.096336" 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-08-29T23:11:17.095587" elapsed="0.000834"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:17.093956" elapsed="0.002572"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:17.093615" elapsed="0.002959"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:17.086414" elapsed="0.010207"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:11:17.097452" 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-08-29T23:11:17.096944" elapsed="0.000561"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:11:17.098311" 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-08-29T23:11:17.097816" elapsed="0.000547"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:11:17.099136" 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-08-29T23:11:17.098644" elapsed="0.000545"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:11:17.099958" 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-08-29T23:11:17.099468" elapsed="0.000543"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:18.244889" level="INFO">POST Request : url=http://10.30.171.169: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV"
        }
    }
}
 
 </msg>
<msg time="2026-08-29T23:11:18.245092" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01zpwd965go583tqaoyy50rvw0.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 28-Aug-2026 23:11:18 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:18.245384" 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-08-29T23:11:17.100277" elapsed="1.145161"/>
</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-08-29T23:11:18.245976" elapsed="0.005156"/>
</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-08-29T23:11:17.085705" elapsed="1.165572"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:11:18.252075" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-29T23:11:18.589171" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:11:18.589394" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:11:18.589469" 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-08-29T23:11:18.589538" 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-08-29T23:11:18.251626" elapsed="0.337949"/>
</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-08-29T23:11:18.591367" 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-08-29T23:11:18.591033" elapsed="0.000358"/>
</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-08-29T23:11:18.591882" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:18.591584" elapsed="0.000350"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:18.591549" elapsed="0.000417"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:18.644899" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:18.645954" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:18.646054" 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-08-29T23:11:18.598060" elapsed="0.048017"/>
</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-08-29T23:11:18.646432" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:18.646153" elapsed="0.000330"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:18.648544" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:18.646626" elapsed="0.001964"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:18.646507" elapsed="0.002113"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:18.646132" elapsed="0.002510"/>
</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-08-29T23:11:18.648773" elapsed="0.000236"/>
</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-08-29T23:11:18.649359" elapsed="0.002124"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:18.649241" elapsed="0.002279"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:18.653770" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:18.651724" elapsed="0.002245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:18.651603" elapsed="0.002450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:18.649080" elapsed="0.005035">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:18.597671" elapsed="0.056557">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:18.590639" elapsed="0.063717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:20.656210" 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-08-29T23:11:20.655665" elapsed="0.000585"/>
</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-08-29T23:11:20.656665" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:20.656374" elapsed="0.000345"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:20.656338" elapsed="0.000413"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:20.674059" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:20.674310" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:20.674406" 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-08-29T23:11:20.662977" elapsed="0.011452"/>
</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-08-29T23:11:20.674798" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:20.674504" elapsed="0.000363"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:20.676950" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:20.675023" elapsed="0.001974"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:20.674894" elapsed="0.002134"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:20.674483" elapsed="0.002566"/>
</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-08-29T23:11:20.677171" elapsed="0.000173"/>
</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-08-29T23:11:20.677699" elapsed="0.001999"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:20.677565" elapsed="0.002177"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:20.681964" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:20.679951" elapsed="0.002120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:20.679826" elapsed="0.002322">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:20.677412" elapsed="0.004883">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:20.662576" elapsed="0.019827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:20.655082" elapsed="0.027409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:22.685049" 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-08-29T23:11:22.684189" 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-08-29T23:11:22.685817" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:22.685284" elapsed="0.000679"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:22.685238" elapsed="0.000775"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:22.712266" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:22.712572" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:22.712824" 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-08-29T23:11:22.700258" elapsed="0.012650"/>
</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-08-29T23:11:22.713677" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:22.713073" elapsed="0.000715"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:22.718352" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:22.714119" elapsed="0.004339"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:22.713837" elapsed="0.004688"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:22.713030" elapsed="0.005539"/>
</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-08-29T23:11:22.718878" elapsed="0.000374"/>
</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-08-29T23:11:22.719943" elapsed="0.004445"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:22.719669" elapsed="0.004799"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:22.729381" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:22.724934" elapsed="0.004744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:22.724661" elapsed="0.005169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:22.719369" elapsed="0.010622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:22.699378" elapsed="0.030836">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:22.683329" elapsed="0.047080">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:24.734898" 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-08-29T23:11:24.733441" elapsed="0.001560"/>
</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-08-29T23:11:24.736161" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:24.735309" elapsed="0.001029"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:24.735218" elapsed="0.001209"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:24.768342" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:24.768763" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:24.769042" 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-08-29T23:11:24.755155" elapsed="0.013944"/>
</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-08-29T23:11:24.770078" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:24.769306" elapsed="0.000898"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:24.775299" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:24.770544" elapsed="0.004996"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:24.770262" elapsed="0.005382"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:24.769249" elapsed="0.006443"/>
</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-08-29T23:11:24.776014" 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-08-29T23:11:24.777209" elapsed="0.005323"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:24.776920" elapsed="0.005728"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:24.788035" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:24.783140" elapsed="0.005103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:24.782842" elapsed="0.005569">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:24.776539" elapsed="0.012010">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:24.753987" elapsed="0.034818">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:24.731966" elapsed="0.057087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:26.792063" 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-08-29T23:11:26.791120" elapsed="0.001017"/>
</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-08-29T23:11:26.792925" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:26.792337" elapsed="0.000705"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:26.792286" elapsed="0.000814"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:26.819736" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:26.820140" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:26.820463" 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-08-29T23:11:26.806830" elapsed="0.013685"/>
</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-08-29T23:11:26.821334" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:26.820703" elapsed="0.000745"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:26.826029" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:26.821773" elapsed="0.004360"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:26.821496" elapsed="0.004704"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:26.820662" elapsed="0.005581"/>
</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-08-29T23:11:26.826495" elapsed="0.000403"/>
</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-08-29T23:11:26.827576" elapsed="0.004460"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:26.827330" elapsed="0.004787"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:26.837014" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:26.832518" elapsed="0.004701">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:26.832281" elapsed="0.005097">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:26.827031" elapsed="0.010467">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:26.805994" elapsed="0.031745">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:26.790121" elapsed="0.047841">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:28.841030" 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-08-29T23:11:28.840083" elapsed="0.001021"/>
</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-08-29T23:11:28.841882" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:28.841299" elapsed="0.000837"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:28.841248" elapsed="0.000951"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:28.869686" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:28.870073" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:28.870298" 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-08-29T23:11:28.856456" elapsed="0.013893"/>
</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-08-29T23:11:28.871144" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:28.870504" elapsed="0.000754"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:28.875883" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:28.871593" elapsed="0.004398"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:28.871307" elapsed="0.004752"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:28.870464" 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-08-29T23:11:28.876351" 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-08-29T23:11:28.877415" elapsed="0.004419"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:28.877170" elapsed="0.004774"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:28.886886" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:28.882347" elapsed="0.004726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:28.882109" elapsed="0.005117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:28.876881" elapsed="0.010466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:28.855595" elapsed="0.031962">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:28.839083" elapsed="0.048755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:30.890952" 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-08-29T23:11:30.889984" elapsed="0.001041"/>
</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-08-29T23:11:30.891770" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:30.891222" elapsed="0.000696"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:30.891169" elapsed="0.000807"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:30.918612" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:30.919006" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:30.919235" 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-08-29T23:11:30.905595" elapsed="0.013692"/>
</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-08-29T23:11:30.920126" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:30.919453" elapsed="0.000791"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:30.924935" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:30.920583" elapsed="0.004458"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:30.920293" elapsed="0.004816"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:30.919409" elapsed="0.005742"/>
</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-08-29T23:11:30.925401" 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-08-29T23:11:30.926471" elapsed="0.004866"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:30.926220" elapsed="0.005202"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:30.936367" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:30.931877" elapsed="0.004673">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:30.931608" elapsed="0.005118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:30.925930" elapsed="0.011058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:30.904732" elapsed="0.032474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:30.888994" elapsed="0.048405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:32.939587" 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-08-29T23:11:32.939048" elapsed="0.000583"/>
</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-08-29T23:11:32.940056" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:32.939758" elapsed="0.000352"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:32.939724" elapsed="0.000418"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:32.960750" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:32.961052" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:32.961186" 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-08-29T23:11:32.947255" elapsed="0.013962"/>
</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-08-29T23:11:32.961716" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:32.961319" elapsed="0.000471"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:32.964988" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:32.962013" elapsed="0.003058"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:32.961820" elapsed="0.003303"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:32.961294" elapsed="0.003861"/>
</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-08-29T23:11:32.965356" elapsed="0.000306"/>
</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-08-29T23:11:32.966261" elapsed="0.003604"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:32.966059" elapsed="0.003870"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:32.973841" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:32.970256" elapsed="0.003887">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:32.970057" elapsed="0.004215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:32.965786" elapsed="0.008583">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:32.946710" elapsed="0.027836">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:32.938333" elapsed="0.036391">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:34.977744" 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-08-29T23:11:34.976812" elapsed="0.001003"/>
</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-08-29T23:11:34.978595" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:34.978036" elapsed="0.000676"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:34.977987" elapsed="0.000780"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:35.006799" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:35.007166" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:35.007388" 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-08-29T23:11:34.993183" elapsed="0.014258"/>
</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-08-29T23:11:35.008221" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:35.007618" elapsed="0.000714"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:35.012963" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:35.008650" elapsed="0.004510"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:35.008381" elapsed="0.004847"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:35.007556" elapsed="0.005715"/>
</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-08-29T23:11:35.013521" 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-08-29T23:11:35.014523" elapsed="0.004508"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:35.014281" elapsed="0.004829"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:35.024011" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:35.019516" elapsed="0.004654">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:35.019272" elapsed="0.005044">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:35.014024" elapsed="0.010411">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:34.992312" elapsed="0.032530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:34.975754" elapsed="0.049310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:37.028614" 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-08-29T23:11:37.027466" elapsed="0.001245"/>
</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-08-29T23:11:37.029637" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:37.028974" elapsed="0.000818"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:37.028916" elapsed="0.000987"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:37.059669" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:37.060086" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:37.060452" 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-08-29T23:11:37.045933" elapsed="0.014593"/>
</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-08-29T23:11:37.061486" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:37.060755" elapsed="0.000902"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:37.067587" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:37.062074" elapsed="0.005656"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:37.061722" elapsed="0.006088"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:37.060712" elapsed="0.007186"/>
</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-08-29T23:11:37.068212" 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-08-29T23:11:37.069452" elapsed="0.005264"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:37.069172" elapsed="0.005646"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:37.080501" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:37.075334" elapsed="0.005406">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:37.075051" elapsed="0.005927">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:37.068807" elapsed="0.012335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:37.044897" elapsed="0.036539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:37.026277" elapsed="0.055428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:39.084831" 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-08-29T23:11:39.083794" elapsed="0.001161"/>
</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-08-29T23:11:39.085754" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:39.085147" elapsed="0.000871"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:39.085099" elapsed="0.000980"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:39.112632" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:39.113000" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:39.113217" 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-08-29T23:11:39.100944" elapsed="0.012327"/>
</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-08-29T23:11:39.114191" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:39.113456" elapsed="0.000844"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:39.119192" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:39.114650" elapsed="0.004646"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:39.114351" elapsed="0.005016"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:39.113409" 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-08-29T23:11:39.119691" 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-08-29T23:11:39.120717" elapsed="0.004501"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:39.120433" elapsed="0.004864"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:39.130673" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:39.125731" elapsed="0.005110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:39.125459" elapsed="0.005575">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:39.120175" elapsed="0.010992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:39.099882" elapsed="0.031516">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:39.082754" elapsed="0.048991">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:41.134953" 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-08-29T23:11:41.134029" 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-08-29T23:11:41.135927" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:41.135211" elapsed="0.000851"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:41.135164" elapsed="0.000950"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:41.165013" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:41.165337" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:41.165586" 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-08-29T23:11:41.152955" elapsed="0.012686"/>
</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-08-29T23:11:41.166465" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:41.165811" elapsed="0.000788"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:41.171183" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:41.166929" elapsed="0.004355"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:41.166651" elapsed="0.004701"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:41.165770" elapsed="0.005624"/>
</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-08-29T23:11:41.171667" 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-08-29T23:11:41.172681" elapsed="0.004428"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:41.172412" elapsed="0.004778"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:41.182202" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:41.177611" elapsed="0.004747">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:41.177352" elapsed="0.005154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:41.172154" elapsed="0.010599">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:41.152055" elapsed="0.030944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:41.132941" elapsed="0.050252">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:43.186465" 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-08-29T23:11:43.185480" 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-08-29T23:11:43.187362" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:43.186776" elapsed="0.000702"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:43.186719" elapsed="0.000816"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:43.214170" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:43.214543" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:43.214799" 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-08-29T23:11:43.202117" elapsed="0.012768"/>
</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-08-29T23:11:43.215699" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:43.215054" elapsed="0.000766"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:43.220515" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:43.216175" elapsed="0.004477"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:43.215904" elapsed="0.004819"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:43.215013" elapsed="0.005753"/>
</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-08-29T23:11:43.221058" elapsed="0.000366"/>
</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-08-29T23:11:43.222155" elapsed="0.004959"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:43.221895" elapsed="0.005303"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:43.232204" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:43.227645" elapsed="0.004847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:43.227367" elapsed="0.005438">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:43.221549" elapsed="0.011416">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:43.201111" elapsed="0.032072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:43.184371" elapsed="0.049005">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:45.236423" 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-08-29T23:11:45.235485" 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="NOT RUN" start="2026-08-29T23:11:45.237279" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:45.236714" elapsed="0.000678"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:45.236659" elapsed="0.000792"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:45.263389" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:45.263774" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:45.264006" 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-08-29T23:11:45.251181" elapsed="0.012878"/>
</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-08-29T23:11:45.264823" elapsed="0.000083"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:45.264212" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:45.269526" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:45.265279" elapsed="0.004517"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:45.265020" elapsed="0.004875"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:45.264174" 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-08-29T23:11:45.270194" elapsed="0.000352"/>
</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-08-29T23:11:45.271237" elapsed="0.004487"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:45.270990" elapsed="0.004814"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:45.280816" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:45.276237" elapsed="0.004772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:45.275998" elapsed="0.005161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:45.270688" elapsed="0.010593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:45.250319" elapsed="0.031171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:45.234457" elapsed="0.047246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:47.284711" 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-08-29T23:11:47.283758" elapsed="0.001024"/>
</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-08-29T23:11:47.285538" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:47.285014" elapsed="0.000657"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:47.284961" elapsed="0.000767"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:47.312123" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:47.312468" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:47.312835" 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-08-29T23:11:47.300333" elapsed="0.012585"/>
</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-08-29T23:11:47.313672" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:47.313076" elapsed="0.000707"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:47.318355" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:47.314109" elapsed="0.004346"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:47.313829" elapsed="0.004691"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:47.313038" elapsed="0.005525"/>
</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-08-29T23:11:47.318835" elapsed="0.000377"/>
</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-08-29T23:11:47.319882" elapsed="0.004418"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:47.319614" elapsed="0.004766"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:47.329268" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:47.324801" elapsed="0.004628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:47.324539" elapsed="0.005042">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:47.319328" elapsed="0.010400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:47.299475" elapsed="0.030492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:47.282745" elapsed="0.047415">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:49.333206" 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-08-29T23:11:49.332275" elapsed="0.001002"/>
</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-08-29T23:11:49.334050" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:49.333474" elapsed="0.000824"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:49.333422" elapsed="0.000937"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:49.365291" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:49.365663" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:49.365890" 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-08-29T23:11:49.348329" elapsed="0.017614"/>
</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-08-29T23:11:49.366698" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:49.366099" elapsed="0.000711"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:49.371449" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:49.367136" elapsed="0.004416"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:49.366884" elapsed="0.004756"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:49.366061" elapsed="0.005624"/>
</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-08-29T23:11:49.371965" 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-08-29T23:11:49.373009" elapsed="0.005004"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:49.372726" elapsed="0.005367"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:49.383050" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:49.378493" elapsed="0.004721">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:49.378255" elapsed="0.005114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:49.372433" elapsed="0.011059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:49.347464" elapsed="0.036256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:49.331244" elapsed="0.052775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:51.387097" 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-08-29T23:11:51.386108" elapsed="0.001062"/>
</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-08-29T23:11:51.387954" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:51.387373" elapsed="0.000700"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:51.387319" elapsed="0.000809"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:51.413647" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:51.414038" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:51.414238" 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-08-29T23:11:51.402140" elapsed="0.012148"/>
</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-08-29T23:11:51.415096" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:51.414444" elapsed="0.000765"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:51.419831" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:51.415506" elapsed="0.004461"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:51.415257" elapsed="0.004777"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:51.414407" elapsed="0.005668"/>
</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-08-29T23:11:51.420329" elapsed="0.000378"/>
</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-08-29T23:11:51.421387" elapsed="0.004507"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:51.421137" elapsed="0.004840"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:51.430908" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:51.426382" elapsed="0.004694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:51.426143" elapsed="0.005087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:51.420829" elapsed="0.010634">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:51.401217" elapsed="0.030488">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:51.385075" elapsed="0.046872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:53.435171" 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-08-29T23:11:53.434204" elapsed="0.001042"/>
</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-08-29T23:11:53.436048" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:53.435450" elapsed="0.000716"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:53.435395" elapsed="0.000831"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:53.462130" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:53.462488" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:53.462736" 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-08-29T23:11:53.450667" elapsed="0.012122"/>
</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-08-29T23:11:53.463569" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:53.462981" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:53.468319" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:53.464043" elapsed="0.004382"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:53.463759" elapsed="0.004732"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:53.462941" elapsed="0.005594"/>
</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-08-29T23:11:53.468808" 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-08-29T23:11:53.469887" elapsed="0.004457"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:53.469591" elapsed="0.004833"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:53.479342" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:53.474878" elapsed="0.004742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:53.474587" elapsed="0.005217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:53.469318" elapsed="0.010642">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:53.449788" elapsed="0.030386">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:53.433098" elapsed="0.047278">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:55.483197" 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-08-29T23:11:55.482405" elapsed="0.000851"/>
</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-08-29T23:11:55.483841" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:55.483430" elapsed="0.000511"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:55.483378" elapsed="0.000614"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:55.504264" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:55.504574" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:55.504739" 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-08-29T23:11:55.493618" elapsed="0.011157"/>
</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-08-29T23:11:55.505326" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:55.504902" elapsed="0.000502"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:55.508914" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:55.505615" elapsed="0.003471"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:55.505439" elapsed="0.003693"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:55.504874" elapsed="0.004305"/>
</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-08-29T23:11:55.509357" elapsed="0.000249"/>
</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-08-29T23:11:55.510167" elapsed="0.003017"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:55.509989" elapsed="0.003247"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:55.516538" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:55.513503" elapsed="0.003193">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:55.513345" elapsed="0.003471">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:55.509714" elapsed="0.007219">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:55.493067" elapsed="0.024026">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:55.481470" elapsed="0.035757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:57.520233" 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-08-29T23:11:57.519284" 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="NOT RUN" start="2026-08-29T23:11:57.521089" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:57.520505" elapsed="0.000702"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:57.520453" elapsed="0.000812"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:57.547250" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:57.547606" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:57.547990" 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-08-29T23:11:57.535170" elapsed="0.012875"/>
</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-08-29T23:11:57.548814" elapsed="0.000078"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:57.548203" elapsed="0.000753"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:57.553638" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:57.549260" elapsed="0.004513"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:57.549005" elapsed="0.004836"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:57.548165" elapsed="0.005752"/>
</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-08-29T23:11:57.554174" 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-08-29T23:11:57.555235" elapsed="0.004437"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:57.554982" elapsed="0.004798"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:57.564748" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:57.560218" elapsed="0.004731">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:57.559975" elapsed="0.005131">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:57.554655" elapsed="0.010598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:57.534302" elapsed="0.031167">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:57.518259" elapsed="0.047399">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:59.568911" 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-08-29T23:11:59.567893" 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="NOT RUN" start="2026-08-29T23:11:59.569771" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:59.569202" elapsed="0.000842"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:59.569145" elapsed="0.000965"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:11:59.597245" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:11:59.597600" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:11:59.597880" 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-08-29T23:11:59.584626" elapsed="0.013311"/>
</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-08-29T23:11:59.598684" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:11:59.598095" elapsed="0.000728"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:11:59.603474" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:59.599161" elapsed="0.004420"/>
</kw>
<status status="PASS" start="2026-08-29T23:11:59.598903" elapsed="0.004746"/>
</branch>
<status status="PASS" start="2026-08-29T23:11:59.598056" 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-08-29T23:11:59.604007" 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-08-29T23:11:59.605070" elapsed="0.004596"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:11:59.604790" elapsed="0.004983"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:11:59.614726" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:59.610213" elapsed="0.004713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:59.609971" elapsed="0.005113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:11:59.604492" elapsed="0.010716">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:59.583772" elapsed="0.031648">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:59.566760" elapsed="0.048917">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:01.618936" 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-08-29T23:12:01.617972" elapsed="0.001036"/>
</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-08-29T23:12:01.619820" elapsed="0.000086"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:01.619212" elapsed="0.000772"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:01.619158" elapsed="0.000886"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:01.645915" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:01.646306" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:01.646543" 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-08-29T23:12:01.634120" elapsed="0.012476"/>
</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-08-29T23:12:01.647521" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:01.646827" elapsed="0.000812"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:01.652939" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:01.648007" elapsed="0.005040"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:01.647696" elapsed="0.005419"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:01.646773" elapsed="0.006384"/>
</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-08-29T23:12:01.653411" elapsed="0.000397"/>
</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-08-29T23:12:01.654533" elapsed="0.004537"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:01.654279" elapsed="0.004874"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:01.664128" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:01.659561" elapsed="0.004734">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:01.659318" elapsed="0.005133">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:01.653981" elapsed="0.010708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:01.633196" elapsed="0.031769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:01.616932" elapsed="0.048228">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:03.668349" 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-08-29T23:12:03.667361" elapsed="0.001062"/>
</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-08-29T23:12:03.669213" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:03.668623" elapsed="0.000705"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:03.668570" elapsed="0.000817"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:03.696290" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:03.696643" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:03.696900" 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-08-29T23:12:03.683396" elapsed="0.013559"/>
</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-08-29T23:12:03.697716" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:03.697113" elapsed="0.000766"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:03.702525" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:03.698199" elapsed="0.004432"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:03.697934" elapsed="0.004762"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:03.697073" elapsed="0.005667"/>
</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-08-29T23:12:03.703048" 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-08-29T23:12:03.704100" elapsed="0.004474"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:03.703821" elapsed="0.004833"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:03.713648" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:03.709113" elapsed="0.004883">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:03.708868" elapsed="0.005289">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:03.703527" elapsed="0.010756">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:03.682517" elapsed="0.031977">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:03.666301" elapsed="0.048383">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:05.717709" 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-08-29T23:12:05.716794" 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-08-29T23:12:05.718585" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:05.718032" elapsed="0.000670"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:05.717985" elapsed="0.000768"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:05.746164" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:05.746484" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:05.746717" 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-08-29T23:12:05.733805" elapsed="0.012965"/>
</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-08-29T23:12:05.747637" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:05.747007" elapsed="0.000744"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:05.753594" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:05.748145" elapsed="0.005841"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:05.747827" elapsed="0.006280"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:05.746962" elapsed="0.007216"/>
</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-08-29T23:12:05.754714" elapsed="0.000546"/>
</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-08-29T23:12:05.756139" elapsed="0.004874"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:05.755759" elapsed="0.005339"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:05.765997" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:05.761505" elapsed="0.004660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:05.761265" elapsed="0.005057">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:05.755413" elapsed="0.011030">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:05.732834" elapsed="0.033843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:05.715768" elapsed="0.051162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:07.769823" 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-08-29T23:12:07.768963" 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-08-29T23:12:07.770662" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:07.770105" elapsed="0.000673"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:07.770055" elapsed="0.000835"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:07.796709" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:07.797106" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:07.797432" 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-08-29T23:12:07.784571" elapsed="0.012915"/>
</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-08-29T23:12:07.798290" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:07.797647" elapsed="0.000755"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:07.803406" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:07.798711" elapsed="0.004797"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:07.798449" elapsed="0.005127"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:07.797608" 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-08-29T23:12:07.803918" 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-08-29T23:12:07.804940" elapsed="0.004529"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:07.804640" elapsed="0.004909"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:07.814477" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:07.810008" elapsed="0.004627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:07.809713" elapsed="0.005071">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:07.804380" elapsed="0.010581">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:07.783712" elapsed="0.031459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:07.767989" elapsed="0.047370">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:09.818184" 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-08-29T23:12:09.817386" elapsed="0.000854"/>
</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-08-29T23:12:09.818862" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:09.818389" elapsed="0.000690"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:09.818351" elapsed="0.000779"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:09.841886" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:09.842214" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:09.842374" 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-08-29T23:12:09.829388" elapsed="0.013019"/>
</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-08-29T23:12:09.843003" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:09.842509" elapsed="0.000580"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:09.846553" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:09.843364" elapsed="0.003265"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:09.843134" elapsed="0.003552"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:09.842483" elapsed="0.004240"/>
</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-08-29T23:12:09.846959" elapsed="0.000266"/>
</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-08-29T23:12:09.847749" elapsed="0.003427"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:09.847571" elapsed="0.003668"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:09.855043" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:09.851555" elapsed="0.003628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:09.851366" elapsed="0.003944">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:09.847335" elapsed="0.008075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:09.828768" elapsed="0.026819">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:09.816449" elapsed="0.039342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:11.859150" 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-08-29T23:12:11.858122" elapsed="0.001103"/>
</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-08-29T23:12:11.860148" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:11.859503" elapsed="0.000764"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:11.859445" elapsed="0.000878"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:11.886830" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:11.887244" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:11.887470" 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-08-29T23:12:11.875116" elapsed="0.012418"/>
</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-08-29T23:12:11.888375" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:11.887705" elapsed="0.000784"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:11.893284" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:11.888829" elapsed="0.004560"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:11.888544" elapsed="0.004915"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:11.887663" elapsed="0.005839"/>
</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-08-29T23:12:11.893772" 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-08-29T23:12:11.894913" elapsed="0.004557"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:11.894591" elapsed="0.004961"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:11.904658" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:11.900050" elapsed="0.004773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:11.899734" elapsed="0.005299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:11.894317" elapsed="0.010965">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:11.874207" elapsed="0.031306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:11.856979" elapsed="0.048730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:13.908801" 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-08-29T23:12:13.907838" elapsed="0.001095"/>
</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-08-29T23:12:13.909685" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:13.909132" elapsed="0.000667"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:13.909083" elapsed="0.000798"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:13.936804" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:13.937225" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:13.937428" 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-08-29T23:12:13.923729" elapsed="0.013749"/>
</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-08-29T23:12:13.938258" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:13.937631" elapsed="0.000737"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:13.943361" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:13.938660" elapsed="0.004802"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:13.938416" elapsed="0.005112"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:13.937592" elapsed="0.005978"/>
</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-08-29T23:12:13.943819" 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-08-29T23:12:13.944959" elapsed="0.005127"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:13.944645" elapsed="0.005653"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:13.956389" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:13.951143" elapsed="0.005554">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:13.950720" elapsed="0.006198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:13.944366" elapsed="0.012692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:13.922913" elapsed="0.034382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:13.906762" elapsed="0.050738">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:15.960754" 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-08-29T23:12:15.959807" 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-08-29T23:12:15.961576" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:15.961056" elapsed="0.000631"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:15.961005" elapsed="0.000735"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:15.987215" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:15.987578" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:15.987794" 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-08-29T23:12:15.975799" elapsed="0.012076"/>
</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-08-29T23:12:15.988805" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:15.988106" elapsed="0.000855"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:15.993775" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:15.989278" elapsed="0.004755"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:15.989020" elapsed="0.005083"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:15.988053" elapsed="0.006094"/>
</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-08-29T23:12:15.994400" 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-08-29T23:12:15.995451" elapsed="0.004519"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:15.995185" elapsed="0.004865"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:16.005089" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:16.000453" elapsed="0.004805">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:16.000215" elapsed="0.005191">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:15.994893" elapsed="0.010635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:15.974759" elapsed="0.030980">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:15.958719" elapsed="0.047258">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:18.009132" 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-08-29T23:12:18.008175" elapsed="0.001030"/>
</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-08-29T23:12:18.009996" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:18.009409" elapsed="0.000705"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:18.009354" elapsed="0.000813"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:18.039063" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:18.039400" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:18.039740" 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-08-29T23:12:18.027181" elapsed="0.012611"/>
</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-08-29T23:12:18.040612" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:18.040017" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:18.045430" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:18.041073" elapsed="0.004462"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:18.040771" elapsed="0.004832"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:18.039948" elapsed="0.005698"/>
</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-08-29T23:12:18.045933" 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-08-29T23:12:18.046981" elapsed="0.004430"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:18.046684" elapsed="0.004806"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:18.056384" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:18.051921" elapsed="0.004630">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:18.051651" elapsed="0.005051">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:18.046419" elapsed="0.010405">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:18.026307" elapsed="0.030789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:18.007101" elapsed="0.050184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:20.060346" 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-08-29T23:12:20.059397" 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-08-29T23:12:20.061204" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:20.060616" elapsed="0.000836"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:20.060561" elapsed="0.000955"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:20.086895" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:20.087248" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:20.087446" 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-08-29T23:12:20.075334" elapsed="0.012162"/>
</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-08-29T23:12:20.088293" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:20.087650" elapsed="0.000753"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:20.092982" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:20.088703" elapsed="0.004405"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:20.088452" elapsed="0.004722"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:20.087612" elapsed="0.005606"/>
</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-08-29T23:12:20.093470" 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-08-29T23:12:20.094498" elapsed="0.004855"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:20.094254" elapsed="0.005180"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:20.104367" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:20.099874" elapsed="0.004646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:20.099600" elapsed="0.005066">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:20.093961" elapsed="0.010831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:20.074471" elapsed="0.030590">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:20.058365" elapsed="0.046963">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:22.108298" 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-08-29T23:12:22.107376" 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="NOT RUN" start="2026-08-29T23:12:22.109139" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:22.108558" elapsed="0.000698"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:22.108508" elapsed="0.000802"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:22.136597" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:22.136974" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:22.137201" 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-08-29T23:12:22.123245" elapsed="0.014008"/>
</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-08-29T23:12:22.138062" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:22.137412" elapsed="0.000766"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:22.142751" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:22.138484" elapsed="0.004399"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:22.138227" elapsed="0.004728"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:22.137373" elapsed="0.005625"/>
</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-08-29T23:12:22.143274" 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-08-29T23:12:22.144316" elapsed="0.004419"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:22.144068" elapsed="0.004749"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:22.153755" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:22.149282" elapsed="0.004673">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:22.149014" elapsed="0.005118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:22.143742" elapsed="0.010628">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:22.122275" elapsed="0.032311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:22.106365" elapsed="0.048409">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:24.157971" 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-08-29T23:12:24.157015" elapsed="0.001028"/>
</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-08-29T23:12:24.158811" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:24.158276" elapsed="0.000684"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:24.158224" elapsed="0.000789"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:24.185543" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:24.185937" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:24.186200" 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-08-29T23:12:24.173651" elapsed="0.012601"/>
</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-08-29T23:12:24.187110" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:24.186430" elapsed="0.000795"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:24.191898" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:24.187531" elapsed="0.004476"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:24.187278" elapsed="0.004819"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:24.186385" elapsed="0.005756"/>
</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-08-29T23:12:24.192396" 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-08-29T23:12:24.193455" elapsed="0.004455"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:24.193198" elapsed="0.004794"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:24.202937" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:24.198421" elapsed="0.004899">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:24.198181" elapsed="0.005294">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:24.192898" elapsed="0.010699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:24.172732" elapsed="0.031070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:24.155946" elapsed="0.048079">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:26.206945" 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-08-29T23:12:26.206026" elapsed="0.000987"/>
</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-08-29T23:12:26.207745" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:26.207228" elapsed="0.000664"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:26.207177" elapsed="0.000770"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:26.232883" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:26.233243" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:26.233442" 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-08-29T23:12:26.221679" elapsed="0.011815"/>
</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-08-29T23:12:26.234300" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:26.233649" elapsed="0.000761"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:26.239059" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:26.234713" elapsed="0.004580"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:26.234460" elapsed="0.004904"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:26.233611" elapsed="0.005798"/>
</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-08-29T23:12:26.239664" 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-08-29T23:12:26.240705" elapsed="0.005053"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:26.240463" elapsed="0.005411"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:26.250897" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:26.246342" elapsed="0.004725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:26.246056" elapsed="0.005185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:26.240194" elapsed="0.011173">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:26.220806" elapsed="0.030781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:26.205051" elapsed="0.046730">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:28.255248" 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-08-29T23:12:28.254217" 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-08-29T23:12:28.256176" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:28.255558" elapsed="0.000742"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:28.255504" elapsed="0.000854"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:28.283933" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:28.284322" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:28.284705" 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-08-29T23:12:28.270718" elapsed="0.014052"/>
</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-08-29T23:12:28.285704" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:28.285000" elapsed="0.000875"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:28.290925" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:28.286237" elapsed="0.004811"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:28.285936" elapsed="0.005185"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:28.284950" elapsed="0.006250"/>
</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-08-29T23:12:28.291471" 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-08-29T23:12:28.292602" elapsed="0.004718"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:28.292333" elapsed="0.005070"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:28.302563" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:28.297826" elapsed="0.004912">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:28.297577" elapsed="0.005354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:28.292022" elapsed="0.011042">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:28.269774" elapsed="0.033544">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:28.253012" elapsed="0.050532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:30.306513" 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-08-29T23:12:30.305600" 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-08-29T23:12:30.307350" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:30.306773" elapsed="0.000820"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:30.306723" elapsed="0.000928"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:30.333947" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:30.334311" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:30.334540" 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-08-29T23:12:30.322837" elapsed="0.011755"/>
</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-08-29T23:12:30.335402" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:30.334752" elapsed="0.000762"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:30.340357" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:30.335814" elapsed="0.004648"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:30.335566" elapsed="0.004964"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:30.334713" elapsed="0.005862"/>
</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-08-29T23:12:30.340825" elapsed="0.000417"/>
</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-08-29T23:12:30.341935" elapsed="0.004558"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:30.341641" elapsed="0.004934"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:30.351632" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:30.347011" elapsed="0.004785">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:30.346739" elapsed="0.005243">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:30.341361" elapsed="0.010746">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:30.321975" elapsed="0.030364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:30.304579" elapsed="0.048033">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:32.355807" 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-08-29T23:12:32.354875" 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-08-29T23:12:32.356655" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:32.356105" elapsed="0.000665"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:32.356053" elapsed="0.000774"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:32.382642" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:32.383043" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:32.383280" 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-08-29T23:12:32.370810" elapsed="0.012524"/>
</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-08-29T23:12:32.384112" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:32.383490" elapsed="0.000762"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:32.388841" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:32.384552" elapsed="0.004424"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:32.384302" elapsed="0.004743"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:32.383451" elapsed="0.005636"/>
</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-08-29T23:12:32.389363" elapsed="0.000346"/>
</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-08-29T23:12:32.390398" elapsed="0.004923"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:32.390132" elapsed="0.005272"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:32.400469" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:32.395809" elapsed="0.004818">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:32.395568" elapsed="0.005210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:32.389828" elapsed="0.011256">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:32.369967" elapsed="0.031380">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:32.353781" elapsed="0.047768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:34.404611" 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-08-29T23:12:34.403685" elapsed="0.000995"/>
</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-08-29T23:12:34.405444" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:34.404902" elapsed="0.000657"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:34.404823" elapsed="0.000790"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:34.431892" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:34.432299" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:34.432523" 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-08-29T23:12:34.419545" elapsed="0.013031"/>
</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-08-29T23:12:34.433411" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:34.432734" elapsed="0.000791"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:34.438200" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:34.433818" elapsed="0.004517"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:34.433573" elapsed="0.004830"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:34.432696" elapsed="0.005750"/>
</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-08-29T23:12:34.438697" elapsed="0.000380"/>
</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-08-29T23:12:34.439733" elapsed="0.004669"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:34.439488" elapsed="0.004993"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:34.449405" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:34.444914" elapsed="0.004768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:34.444643" elapsed="0.005192">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:34.439196" elapsed="0.010796">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:34.418677" elapsed="0.031524">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:34.402662" elapsed="0.047755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:36.453381" 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-08-29T23:12:36.452488" 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-08-29T23:12:36.454185" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:36.453631" elapsed="0.000667"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:36.453583" elapsed="0.000787"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:36.479228" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:36.479587" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:36.479809" 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-08-29T23:12:36.468733" elapsed="0.011160"/>
</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-08-29T23:12:36.480658" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:36.480051" elapsed="0.000719"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:36.485431" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:36.481131" elapsed="0.004510"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:36.480819" elapsed="0.004891"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:36.480013" elapsed="0.005741"/>
</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-08-29T23:12:36.486041" elapsed="0.000373"/>
</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-08-29T23:12:36.487069" elapsed="0.004430"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:36.486795" elapsed="0.004785"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:36.496580" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:36.492016" elapsed="0.004727">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:36.491743" elapsed="0.005185">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:36.486531" elapsed="0.010523">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:36.467865" elapsed="0.029396">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:36.451480" elapsed="0.046004">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:38.500659" 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-08-29T23:12:38.499730" elapsed="0.000999"/>
</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-08-29T23:12:38.501508" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:38.500957" elapsed="0.000668"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:38.500904" elapsed="0.000772"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:38.526603" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:38.526990" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:38.527335" 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-08-29T23:12:38.515724" elapsed="0.011694"/>
</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-08-29T23:12:38.528255" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:38.527598" elapsed="0.000794"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:38.533064" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:38.528699" elapsed="0.004470"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:38.528445" elapsed="0.004792"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:38.527553" elapsed="0.005806"/>
</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-08-29T23:12:38.533655" elapsed="0.000378"/>
</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-08-29T23:12:38.534709" elapsed="0.004877"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:38.534453" elapsed="0.005217"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:38.544587" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:38.540105" elapsed="0.004643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:38.539833" elapsed="0.005096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:38.534157" elapsed="0.010899">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:38.514795" elapsed="0.030466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:38.498677" elapsed="0.046798">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:40.548400" 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-08-29T23:12:40.547525" elapsed="0.000973"/>
</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-08-29T23:12:40.549254" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:40.548684" elapsed="0.000839"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:40.548636" elapsed="0.000947"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:40.573584" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:40.573961" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:40.574167" 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-08-29T23:12:40.563286" elapsed="0.010932"/>
</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-08-29T23:12:40.575012" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:40.574375" elapsed="0.000750"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:40.579787" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:40.575452" elapsed="0.004473"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:40.575174" elapsed="0.004821"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:40.574337" elapsed="0.005703"/>
</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-08-29T23:12:40.580293" elapsed="0.000365"/>
</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-08-29T23:12:40.581305" elapsed="0.004495"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:40.581062" elapsed="0.004851"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:40.591080" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:40.586315" elapsed="0.004923">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:40.586076" elapsed="0.005310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:40.580772" elapsed="0.010763">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:40.562434" elapsed="0.029325">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:40.546569" elapsed="0.045481">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:42.595324" 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-08-29T23:12:42.594374" 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-08-29T23:12:42.596180" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:42.595625" elapsed="0.000670"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:42.595573" elapsed="0.000777"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:42.622275" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:42.622637" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:42.622893" 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-08-29T23:12:42.610880" elapsed="0.012068"/>
</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-08-29T23:12:42.623716" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:42.623109" elapsed="0.000721"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:42.628432" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:42.624175" elapsed="0.004383"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:42.623911" elapsed="0.004716"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:42.623070" elapsed="0.005600"/>
</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-08-29T23:12:42.628955" elapsed="0.000349"/>
</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-08-29T23:12:42.629991" elapsed="0.004577"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:42.629713" elapsed="0.004934"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:42.639598" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:42.635077" elapsed="0.004678">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:42.634808" elapsed="0.005126">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:42.629422" elapsed="0.010741">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:42.609994" elapsed="0.030384">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:42.593312" elapsed="0.047280">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:44.643470" 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-08-29T23:12:44.642600" elapsed="0.000958"/>
</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-08-29T23:12:44.644287" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:44.643739" elapsed="0.000663"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:44.643693" elapsed="0.000761"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:44.669396" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:44.669750" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:44.669985" 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-08-29T23:12:44.658465" elapsed="0.011572"/>
</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-08-29T23:12:44.670795" elapsed="0.000078"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:44.670193" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:44.676020" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:44.671249" elapsed="0.004876"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:44.670990" elapsed="0.005203"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:44.670154" elapsed="0.006083"/>
</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-08-29T23:12:44.676489" 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-08-29T23:12:44.677496" elapsed="0.005312"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:44.677254" elapsed="0.005711"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:44.686008" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:44.683226" elapsed="0.002960">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:44.683075" elapsed="0.003210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:44.676996" elapsed="0.009364">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:44.657596" elapsed="0.028895">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:44.641630" elapsed="0.045022">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:46.689576" 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-08-29T23:12:46.688683" elapsed="0.000963"/>
</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-08-29T23:12:46.690382" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:46.689830" elapsed="0.000666"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:46.689780" elapsed="0.000793"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:46.716081" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:46.716411" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:46.716651" 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-08-29T23:12:46.704329" elapsed="0.012375"/>
</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-08-29T23:12:46.717468" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:46.716886" elapsed="0.000713"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:46.722201" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:46.717936" elapsed="0.004479"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:46.717648" elapsed="0.004890"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:46.716818" 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-08-29T23:12:46.722959" 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-08-29T23:12:46.724028" elapsed="0.004352"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:46.723751" elapsed="0.004709"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:46.733314" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:46.728912" elapsed="0.004562">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:46.728645" elapsed="0.005003">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:46.723450" elapsed="0.010319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:46.703424" elapsed="0.030582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:46.687713" elapsed="0.046489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:48.737282" 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-08-29T23:12:48.736237" elapsed="0.001114"/>
</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-08-29T23:12:48.738113" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:48.737537" elapsed="0.000692"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:48.737490" elapsed="0.000789"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:48.762624" level="INFO">GET Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:48.762986" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:48.763316" 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-08-29T23:12:48.752415" elapsed="0.010953"/>
</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-08-29T23:12:48.764159" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:48.763525" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:48.768912" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:48.764564" elapsed="0.004452"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:48.764321" elapsed="0.004762"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:48.763487" 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-08-29T23:12:48.769380" elapsed="0.000363"/>
</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-08-29T23:12:48.770388" elapsed="0.004481"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:12:48.770148" elapsed="0.004803"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:48.779803" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:48.775346" elapsed="0.004646">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:48.775112" elapsed="0.005029">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:12:48.769887" elapsed="0.010375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:48.751540" elapsed="0.028925">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:48.735231" elapsed="0.045447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-08-29T23:12:48.780893" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:11:18.589964" elapsed="90.191228">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:48.781574" elapsed="0.000070"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:48.783316" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-29T23:12:49.091996" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:12:49.092334" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:12:49.092425" 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-08-29T23:12:49.092510" 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-08-29T23:12:48.782962" elapsed="0.309594"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:49.093721" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:12:49.093067" elapsed="0.000738"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.094470" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-29T23:12:49.442752" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:12:49.443175" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:12:49.443267" 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-08-29T23:12:49.443351" 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-08-29T23:12:49.094126" elapsed="0.349272"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.444310" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-29T23:12:49.511977" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:12:49.512216" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-29T23:12:49.512305" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:12:49.512383" 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-08-29T23:12:49.443886" elapsed="0.068541"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.513004" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-29T23:12:49.560010" 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-08-29T23:12:49.512762" elapsed="0.047448"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:49.585976" level="INFO">DELETE Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:49.586082" level="INFO">DELETE Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:49.586284" 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-08-29T23:12:49.560602" elapsed="0.025737"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:49.603263" level="INFO">DELETE Request : url=http://10.30.171.169: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=node01zpwd965go583tqaoyy50rvw0.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:49.603555" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:12:49.603791" 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-08-29T23:12:49.586680" elapsed="0.017192"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-29T23:12:48.782302" elapsed="0.821716"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-29T23:11:16.782456" elapsed="92.821673">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDu2WAxImbfawGoeFGwhL8JNZ/AZNhPphiH4qD2FSWJqRuexEOaYZcHZc5Vw28U679RmWiqfP4v5ZeiCy0jAWPRbzAEoW3RB8iVQRTNjetbCkBZqZECzU9kyPJMzfa7HEveq8PJMpqsOGneV7ZrF/r9h2kvTrEhEQ0cIJvJgmc44qKpBbqiiPEi39gBJ+NdbokFmG8x5whj6DSdL7SYg+jlX9GCezwqgbq8ro1YRCwFwMEJepap/ouETNols2hjMPpef6z9MD19B1D1/Q4V1iQpGgjunXcQOAUK0zdHDCVj+lVrVrxFGMxq5rzYu3fzuUu38NJEvl8tQfxQAJc8sIYV","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-08-29T23:12:49.607269" level="INFO">Creating Session using : alias=session, url=http://10.30.171.169:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7b4b71ca3150&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-08-29T23:12:49.606715" elapsed="0.000862"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.608120" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-29T23:12:49.621321" 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-08-29T23:12:49.607911" elapsed="0.013525"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.621966" 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-08-29T23:12:49.782773" 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-08-29T23:12:49.621735" elapsed="0.161252"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.783609" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-29T23:12:49.835699" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:12:49.835987" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66...</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-08-29T23:12:49.783355" elapsed="0.052691"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:12:49.845049" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66...</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-08-29T23:12:49.836438" elapsed="0.008711"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-29T23:12:49.606176" elapsed="0.239101"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.885812" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:12:49.846286" elapsed="0.039677"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.896490" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:12:49.886248" elapsed="0.010356"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-29T23:12:49.845691" elapsed="0.051055"/>
</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-08-29T23:12:49.904899" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:49.898019" elapsed="0.006987"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-29T23:12:49.906202" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:12:49.906487" 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-08-29T23:12:49.905901" elapsed="0.000639"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:12:49.907530" 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-08-29T23:12:49.906881" elapsed="0.000734"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:49.905333" elapsed="0.002410"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:49.905062" elapsed="0.002727"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:49.897970" elapsed="0.009863"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:12:49.908620" 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-08-29T23:12:49.908129" elapsed="0.000569"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:12:49.909454" 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-08-29T23:12:49.909007" elapsed="0.000499"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:12:49.910401" 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-08-29T23:12:49.909951" elapsed="0.000503"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:12:49.911239" 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-08-29T23:12:49.910756" elapsed="0.000535"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:49.943817" level="INFO">POST Request : url=http://10.30.171.169: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld"
        }
    }
}
 
 </msg>
<msg time="2026-08-29T23:12:49.943968" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0cnxkkcq9g4hh1fccp45nulvov1.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 28-Aug-2026 23:12:49 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:49.944170" 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-08-29T23:12:49.911556" elapsed="0.032664"/>
</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-08-29T23:12:49.944529" elapsed="0.004413"/>
</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-08-29T23:12:49.897289" elapsed="0.051777"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:12:49.949719" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-29T23:12:50.256514" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:12:50.256991" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:12:50.257088" 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-08-29T23:12:50.257171" 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-08-29T23:12:49.949348" elapsed="0.307871"/>
</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-08-29T23:12:50.260740" 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-08-29T23:12:50.259996" elapsed="0.000801"/>
</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-08-29T23:12:50.261545" elapsed="0.000519"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:50.260995" elapsed="0.001148"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:50.260946" elapsed="0.001253"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:50.290305" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:50.290688" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:50.290978" 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-08-29T23:12:50.279001" elapsed="0.012030"/>
</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-08-29T23:12:50.291836" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:50.291219" elapsed="0.000862"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:50.296615" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:50.292383" elapsed="0.004355"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:50.292135" elapsed="0.004669"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:50.291177" elapsed="0.005697"/>
</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-08-29T23:12:50.297125" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:50.302596" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:50.298142" elapsed="0.004640">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:50.297896" elapsed="0.005070">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:50.297574" elapsed="0.005520">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:50.278122" elapsed="0.025177">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:50.259215" elapsed="0.044277">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:52.306728" 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-08-29T23:12:52.305762" elapsed="0.001036"/>
</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-08-29T23:12:52.307550" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:52.307017" elapsed="0.001114"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:52.306967" elapsed="0.001220"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:52.335173" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:52.335535" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:52.335931" 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-08-29T23:12:52.322711" elapsed="0.013275"/>
</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-08-29T23:12:52.336870" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:52.336171" elapsed="0.000817"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:52.341732" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:52.337298" elapsed="0.004541"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:52.337041" elapsed="0.004894"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:52.336123" elapsed="0.005855"/>
</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-08-29T23:12:52.342235" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:52.348263" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:52.343292" elapsed="0.005138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:52.343028" elapsed="0.005553">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:52.342725" elapsed="0.006002">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:52.321830" elapsed="0.027142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:52.304651" elapsed="0.044513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:54.352315" 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-08-29T23:12:54.351399" elapsed="0.001108"/>
</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-08-29T23:12:54.353293" elapsed="0.000422"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:54.352695" elapsed="0.001120"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:54.352648" elapsed="0.001250"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:54.380369" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:54.380764" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:54.381022" 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-08-29T23:12:54.367912" elapsed="0.013164"/>
</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-08-29T23:12:54.382019" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:54.381279" elapsed="0.000855"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:54.386998" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:54.382451" elapsed="0.004652"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:54.382189" elapsed="0.004982"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:54.381227" elapsed="0.005987"/>
</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-08-29T23:12:54.387470" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:54.393109" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:54.388516" elapsed="0.004757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:54.388257" elapsed="0.005168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:54.387987" elapsed="0.005563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:54.366968" elapsed="0.026815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:54.350362" elapsed="0.043766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:56.397304" 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-08-29T23:12:56.396353" 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-08-29T23:12:56.398150" elapsed="0.000435"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:56.397574" elapsed="0.001093"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:56.397521" elapsed="0.001202"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:56.424211" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:56.424578" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:56.424885" 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-08-29T23:12:56.413473" elapsed="0.011469"/>
</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-08-29T23:12:56.425899" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:56.425151" elapsed="0.000869"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:56.430701" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:56.426335" elapsed="0.004560"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:56.426078" elapsed="0.004895"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:56.425097" 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-08-29T23:12:56.431281" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:56.436942" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:56.432406" elapsed="0.004696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:56.432136" elapsed="0.005115">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:56.431811" elapsed="0.005570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:56.412417" elapsed="0.025317">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:56.395318" elapsed="0.042688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:58.440982" 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-08-29T23:12:58.440092" 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-08-29T23:12:58.441775" elapsed="0.000476"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:58.441252" elapsed="0.001077"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:58.441197" elapsed="0.001188"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:12:58.469490" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:12:58.469927" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:12:58.470155" 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-08-29T23:12:58.456715" elapsed="0.013492"/>
</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-08-29T23:12:58.471133" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:12:58.470408" elapsed="0.000842"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:12:58.476707" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:58.471570" elapsed="0.005339"/>
</kw>
<status status="PASS" start="2026-08-29T23:12:58.471304" elapsed="0.005678"/>
</branch>
<status status="PASS" start="2026-08-29T23:12:58.470356" elapsed="0.006668"/>
</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-08-29T23:12:58.477284" elapsed="0.000520"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:12:58.483675" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:58.478530" elapsed="0.005363">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:58.478260" elapsed="0.005798">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:58.477978" elapsed="0.006335">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:58.455809" elapsed="0.028739">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:58.439140" elapsed="0.045601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:00.487714" 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-08-29T23:13:00.486773" 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-08-29T23:13:00.488554" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:00.488032" elapsed="0.001077"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:00.487976" elapsed="0.001188"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:00.513563" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:00.513983" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:00.514220" 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-08-29T23:13:00.502963" elapsed="0.011308"/>
</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-08-29T23:13:00.515229" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:00.514485" elapsed="0.000865"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:00.520217" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:00.515675" elapsed="0.004646"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:00.515404" elapsed="0.004984"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:00.514428" 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-08-29T23:13:00.520685" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:00.526376" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:00.521749" elapsed="0.004914">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:00.521479" elapsed="0.005342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:00.521202" elapsed="0.005799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:00.502106" elapsed="0.025120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:00.485739" elapsed="0.041685">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:02.529750" 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-08-29T23:13:02.529166" elapsed="0.000634"/>
</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-08-29T23:13:02.530300" elapsed="0.000259"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:02.529977" elapsed="0.000625"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:02.529922" elapsed="0.000719"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:02.551360" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:02.551580" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:02.551710" 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-08-29T23:13:02.539020" elapsed="0.012718"/>
</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-08-29T23:13:02.552196" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:02.551826" elapsed="0.000431"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:02.554760" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:02.552422" elapsed="0.002500"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:02.552283" elapsed="0.002694"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:02.551804" elapsed="0.003197"/>
</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-08-29T23:13:02.555141" elapsed="0.000191"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:02.558234" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:02.555704" elapsed="0.002636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:02.555561" elapsed="0.002869">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:02.555404" elapsed="0.003096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:02.538539" elapsed="0.020085">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:02.528388" elapsed="0.030340">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:04.561635" 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-08-29T23:13:04.560708" 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="PASS" start="2026-08-29T23:13:04.562513" elapsed="0.000473"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:04.561958" elapsed="0.001129"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:04.561896" elapsed="0.001244"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:04.590774" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:04.591197" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:04.591505" 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-08-29T23:13:04.577076" elapsed="0.014483"/>
</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-08-29T23:13:04.592446" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:04.591721" elapsed="0.000842"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:04.597425" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:04.592905" elapsed="0.004625"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:04.592613" elapsed="0.004988"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:04.591683" elapsed="0.005963"/>
</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-08-29T23:13:04.597956" elapsed="0.000384"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:04.604112" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:04.599071" elapsed="0.005201">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:04.598726" elapsed="0.005696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:04.598458" elapsed="0.006088">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:04.576221" elapsed="0.028527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:04.559698" elapsed="0.045270">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:06.607109" 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-08-29T23:13:06.606556" elapsed="0.000597"/>
</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-08-29T23:13:06.607577" elapsed="0.000242"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:06.607275" elapsed="0.000607"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:06.607244" elapsed="0.000668"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:06.625375" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:06.625607" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:06.625715" 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-08-29T23:13:06.615579" elapsed="0.010163"/>
</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-08-29T23:13:06.626198" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:06.625827" elapsed="0.000431"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:06.628762" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:06.626422" elapsed="0.002394"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:06.626284" elapsed="0.002585"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:06.625806" elapsed="0.003088"/>
</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-08-29T23:13:06.629034" elapsed="0.000207"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:06.632124" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:06.629599" elapsed="0.002627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:06.629464" elapsed="0.002850">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:06.629312" elapsed="0.003072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:06.615143" elapsed="0.017357">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:06.605830" elapsed="0.026775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:08.635511" 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-08-29T23:13:08.634599" 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-08-29T23:13:08.636357" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:08.635762" elapsed="0.001119"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:08.635715" elapsed="0.001221"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:08.664370" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:08.664716" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:08.664966" 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-08-29T23:13:08.651267" elapsed="0.013752"/>
</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-08-29T23:13:08.665810" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:08.665197" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:08.670542" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:08.666304" elapsed="0.004337"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:08.666004" elapsed="0.004704"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:08.665159" elapsed="0.005591"/>
</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-08-29T23:13:08.671028" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:08.676816" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:08.672159" elapsed="0.004854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:08.671817" elapsed="0.005369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:08.671511" elapsed="0.005801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:08.650407" elapsed="0.027118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:08.633618" elapsed="0.044222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:10.680978" 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-08-29T23:13:10.680030" 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-08-29T23:13:10.681808" elapsed="0.000483"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:10.681278" elapsed="0.001095"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:10.681223" elapsed="0.001222"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:10.707900" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:10.708265" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:10.708461" 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-08-29T23:13:10.696439" elapsed="0.012072"/>
</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-08-29T23:13:10.709293" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:10.708668" elapsed="0.000735"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:10.714213" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:10.709708" elapsed="0.004609"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:10.709451" elapsed="0.004932"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:10.708631" elapsed="0.005795"/>
</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-08-29T23:13:10.714671" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:10.720679" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:10.715680" elapsed="0.005157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:10.715439" elapsed="0.005580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:10.715152" elapsed="0.005992">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:10.695565" elapsed="0.025913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:10.678978" elapsed="0.042693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:12.724653" 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-08-29T23:13:12.723736" 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-08-29T23:13:12.725510" elapsed="0.000453"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:12.724943" elapsed="0.001098"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:12.724891" elapsed="0.001205"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:12.753177" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:12.753532" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:12.753728" 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-08-29T23:13:12.740381" elapsed="0.013398"/>
</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-08-29T23:13:12.754562" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:12.753966" elapsed="0.000706"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:12.759342" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:12.754993" elapsed="0.004454"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:12.754720" elapsed="0.004798"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:12.753928" elapsed="0.005635"/>
</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-08-29T23:13:12.759893" elapsed="0.000386"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:12.765462" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:12.760940" elapsed="0.004675">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:12.760666" elapsed="0.005096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:12.760400" elapsed="0.005673">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:12.739471" elapsed="0.026843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:12.722730" elapsed="0.043777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:14.769520" 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-08-29T23:13:14.768603" 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-08-29T23:13:14.770411" elapsed="0.000472"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:14.769775" elapsed="0.001188"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:14.769727" elapsed="0.001287"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:14.797787" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:14.798190" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:14.798453" 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-08-29T23:13:14.785282" elapsed="0.013225"/>
</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-08-29T23:13:14.799318" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:14.798665" elapsed="0.000771"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:14.804326" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:14.799750" elapsed="0.004694"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:14.799485" elapsed="0.005035"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:14.798626" elapsed="0.005946"/>
</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-08-29T23:13:14.804833" elapsed="0.000412"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:14.810434" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:14.805973" elapsed="0.004726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:14.805682" elapsed="0.005198">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:14.805393" elapsed="0.005616">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:14.784412" elapsed="0.026803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:14.767593" elapsed="0.043833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:16.814253" 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-08-29T23:13:16.813380" 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-08-29T23:13:16.815086" elapsed="0.000437"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:16.814516" elapsed="0.001083"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:16.814471" elapsed="0.001179"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:16.841233" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:16.841579" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:16.841772" 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-08-29T23:13:16.829446" elapsed="0.012377"/>
</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-08-29T23:13:16.842616" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:16.842012" elapsed="0.000712"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:16.847349" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:16.843052" elapsed="0.004502"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:16.842771" elapsed="0.004851"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:16.841973" elapsed="0.005692"/>
</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-08-29T23:13:16.847943" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:16.853958" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:16.848948" elapsed="0.005170">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:16.848682" elapsed="0.005584">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:16.848421" elapsed="0.005995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:16.828547" elapsed="0.026076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:16.812465" elapsed="0.042358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:18.857776" 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-08-29T23:13:18.856903" elapsed="0.000967"/>
</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-08-29T23:13:18.858587" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:18.858057" elapsed="0.001055"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:18.858010" elapsed="0.001154"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:18.888746" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:18.889123" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:18.889467" 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-08-29T23:13:18.873306" elapsed="0.016216"/>
</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-08-29T23:13:18.890368" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:18.889702" elapsed="0.000798"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:18.895132" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:18.890797" elapsed="0.004443"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:18.890550" elapsed="0.004757"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:18.889658" elapsed="0.005691"/>
</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-08-29T23:13:18.895625" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:18.901193" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:18.896650" elapsed="0.004697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:18.896377" elapsed="0.005136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:18.896113" elapsed="0.005525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:18.872401" elapsed="0.029440">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:18.855906" elapsed="0.046217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:20.905162" 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-08-29T23:13:20.904198" 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="PASS" start="2026-08-29T23:13:20.906042" elapsed="0.000440"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:20.905412" elapsed="0.001147"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:20.905365" elapsed="0.001246"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:20.932902" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:20.933253" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:20.933507" 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-08-29T23:13:20.921014" elapsed="0.012546"/>
</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-08-29T23:13:20.934317" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:20.933716" elapsed="0.000708"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:20.939240" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:20.934732" elapsed="0.004612"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:20.934491" elapsed="0.004919"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:20.933678" 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-08-29T23:13:20.939720" elapsed="0.000400"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:20.945362" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:20.940749" elapsed="0.004795">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:20.940511" elapsed="0.005183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:20.940233" elapsed="0.005586">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:20.920136" elapsed="0.025932">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:20.903214" elapsed="0.043050">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:22.949414" 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-08-29T23:13:22.948524" elapsed="0.000957"/>
</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-08-29T23:13:22.950224" elapsed="0.000432"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:22.949688" elapsed="0.001046"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:22.949640" elapsed="0.001146"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:22.980769" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:22.981128" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:22.981324" 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-08-29T23:13:22.964450" elapsed="0.016924"/>
</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-08-29T23:13:22.982169" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:22.981549" elapsed="0.000733"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:22.987038" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:22.982606" elapsed="0.004534"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:22.982331" elapsed="0.004875"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:22.981489" elapsed="0.005759"/>
</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-08-29T23:13:22.987492" elapsed="0.000377"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:22.993422" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:22.988487" elapsed="0.005118">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:22.988249" elapsed="0.005502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:22.987988" elapsed="0.005915">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:22.963621" elapsed="0.030486">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:22.947484" elapsed="0.046915">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:24.997504" 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-08-29T23:13:24.996593" elapsed="0.001002"/>
</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-08-29T23:13:24.998340" elapsed="0.000442"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:24.997793" elapsed="0.001094"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:24.997741" elapsed="0.001205"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:25.025673" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:25.026066" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:25.026282" 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-08-29T23:13:25.012748" elapsed="0.013585"/>
</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-08-29T23:13:25.027240" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:25.026515" elapsed="0.000844"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:25.032138" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:25.027714" elapsed="0.004525"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:25.027415" elapsed="0.004890"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:25.026467" elapsed="0.005880"/>
</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-08-29T23:13:25.033597" elapsed="0.000386"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:25.039210" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:25.034653" elapsed="0.004718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:25.034374" elapsed="0.005144">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:25.034106" elapsed="0.005563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:25.011809" elapsed="0.028394">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:24.995543" elapsed="0.044861">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:27.042597" 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-08-29T23:13:27.042015" elapsed="0.000645"/>
</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-08-29T23:13:27.043139" elapsed="0.000243"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:27.042792" elapsed="0.000633"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:27.042756" elapsed="0.000709"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:27.063550" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:27.064779" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:27.065378" 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-08-29T23:13:27.053314" elapsed="0.012132"/>
</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-08-29T23:13:27.066892" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:27.065756" elapsed="0.001273"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:27.072956" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:27.067432" elapsed="0.005636"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:27.067085" elapsed="0.006052"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:27.065681" elapsed="0.007498"/>
</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-08-29T23:13:27.073452" elapsed="0.000600"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:27.079350" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:27.074761" elapsed="0.004712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:27.074456" elapsed="0.005115">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:27.074180" elapsed="0.005624">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:27.052870" elapsed="0.027114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:27.041295" elapsed="0.038824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:29.083267" 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-08-29T23:13:29.082306" 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-08-29T23:13:29.084150" elapsed="0.000432"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:29.083542" elapsed="0.001120"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:29.083489" elapsed="0.001252"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:29.112074" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:29.112446" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:29.112712" 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-08-29T23:13:29.099535" elapsed="0.013233"/>
</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-08-29T23:13:29.113784" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:29.113025" elapsed="0.000906"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:29.118669" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:29.114262" elapsed="0.004536"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:29.113985" elapsed="0.004909"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:29.112965" elapsed="0.005974"/>
</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-08-29T23:13:29.119199" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:29.125305" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:29.120265" elapsed="0.005310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:29.119999" elapsed="0.005774">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:29.119692" elapsed="0.006238">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:29.098295" elapsed="0.027850">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:29.081258" elapsed="0.045074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:31.129452" 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-08-29T23:13:31.128474" 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="PASS" start="2026-08-29T23:13:31.130345" elapsed="0.000462"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:31.129727" elapsed="0.001190"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:31.129674" elapsed="0.001302"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:31.156495" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:31.156873" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:31.157092" 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-08-29T23:13:31.145308" elapsed="0.011839"/>
</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-08-29T23:13:31.158071" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:31.157338" elapsed="0.000848"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:31.162840" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:31.158494" elapsed="0.004578"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:31.158238" elapsed="0.004907"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:31.157292" elapsed="0.005895"/>
</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-08-29T23:13:31.163441" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:31.169164" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:31.164506" elapsed="0.004826">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:31.164240" elapsed="0.005246">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:31.163967" elapsed="0.005647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:31.144284" elapsed="0.025604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:31.127424" elapsed="0.042668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:33.173165" 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-08-29T23:13:33.172424" elapsed="0.000797"/>
</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-08-29T23:13:33.173809" elapsed="0.000335"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:33.173388" elapsed="0.000814"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:33.173343" elapsed="0.000906"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:33.194927" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:33.195193" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:33.195450" 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-08-29T23:13:33.184206" elapsed="0.011280"/>
</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-08-29T23:13:33.196176" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:33.195627" elapsed="0.000633"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:33.199565" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:33.196482" elapsed="0.003156"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:33.196304" elapsed="0.003381"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:33.195590" elapsed="0.004124"/>
</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-08-29T23:13:33.199917" elapsed="0.000319"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:33.203766" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:33.200695" elapsed="0.003242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:33.200517" elapsed="0.003535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:33.200333" elapsed="0.003816">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:33.183529" elapsed="0.020786">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:33.171065" elapsed="0.033397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:35.207388" 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-08-29T23:13:35.206485" elapsed="0.000970"/>
</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-08-29T23:13:35.208235" elapsed="0.000427"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:35.207642" elapsed="0.001100"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:35.207595" elapsed="0.001201"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:35.234669" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:35.235068" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:35.235306" 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-08-29T23:13:35.223001" elapsed="0.012358"/>
</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-08-29T23:13:35.236337" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:35.235571" elapsed="0.000886"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:35.241430" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:35.236784" elapsed="0.004777"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:35.236511" elapsed="0.005124"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:35.235517" elapsed="0.006167"/>
</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-08-29T23:13:35.242046" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:35.248537" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:35.243302" elapsed="0.005401">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:35.243015" elapsed="0.005888">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:35.242577" elapsed="0.006459">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:35.222052" elapsed="0.027202">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:35.205522" elapsed="0.043923">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:37.252508" 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-08-29T23:13:37.251586" 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-08-29T23:13:37.253355" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:37.252771" elapsed="0.001110"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:37.252721" elapsed="0.001237"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:37.278390" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:37.278692" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:37.278936" 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-08-29T23:13:37.267997" elapsed="0.010993"/>
</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-08-29T23:13:37.279726" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:37.279148" elapsed="0.000688"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:37.284766" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:37.280363" elapsed="0.004534"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:37.280097" elapsed="0.004891"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:37.279109" elapsed="0.005922"/>
</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-08-29T23:13:37.285302" elapsed="0.000337"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:37.290982" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:37.286301" elapsed="0.004851">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:37.286059" elapsed="0.005257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:37.285753" elapsed="0.005692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:37.267135" elapsed="0.024529">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:37.250591" elapsed="0.041456">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:39.295004" 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-08-29T23:13:39.294109" elapsed="0.000966"/>
</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-08-29T23:13:39.295872" elapsed="0.000471"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:39.295265" elapsed="0.001162"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:39.295218" elapsed="0.001264"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:39.322338" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:39.322663" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:39.322934" 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-08-29T23:13:39.311517" elapsed="0.011492"/>
</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-08-29T23:13:39.323915" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:39.323198" elapsed="0.000871"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:39.329765" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:39.324386" elapsed="0.005524"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:39.324125" elapsed="0.005872"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:39.323150" elapsed="0.006891"/>
</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-08-29T23:13:39.330299" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:39.336162" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:39.331345" elapsed="0.004985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:39.331084" elapsed="0.005399">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:39.330760" elapsed="0.005856">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:39.310568" elapsed="0.026519">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:39.293126" elapsed="0.044166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:41.340333" 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-08-29T23:13:41.339383" elapsed="0.001019"/>
</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-08-29T23:13:41.341183" elapsed="0.000426"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:41.340588" elapsed="0.001102"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:41.340541" elapsed="0.001202"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:41.368500" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:41.368815" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:41.369157" 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-08-29T23:13:41.355657" elapsed="0.013571"/>
</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-08-29T23:13:41.370059" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:41.369394" elapsed="0.000785"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:41.374927" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:41.370532" elapsed="0.004531"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:41.370273" elapsed="0.004862"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:41.369353" elapsed="0.005827"/>
</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-08-29T23:13:41.375436" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:41.381743" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:41.376516" elapsed="0.005419">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:41.376265" elapsed="0.005844">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:41.375953" elapsed="0.006391">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:41.354778" elapsed="0.027784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:41.338397" elapsed="0.044360">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:43.385772" 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-08-29T23:13:43.384840" 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-08-29T23:13:43.386628" elapsed="0.000455"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:43.386065" elapsed="0.001117"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:43.386015" elapsed="0.001225"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:43.412772" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:43.413151" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:43.413392" 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-08-29T23:13:43.400972" 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-08-29T23:13:43.414262" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:43.413629" elapsed="0.000745"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:43.419044" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:43.414674" elapsed="0.004500"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:43.414423" elapsed="0.004827"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:43.413566" elapsed="0.005728"/>
</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-08-29T23:13:43.419548" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:43.425382" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:43.420561" elapsed="0.005096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:43.420319" elapsed="0.005495">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:43.420036" elapsed="0.005974">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:43.400130" elapsed="0.026139">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:43.383816" elapsed="0.042650">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:45.429581" 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-08-29T23:13:45.428588" elapsed="0.001077"/>
</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-08-29T23:13:45.430481" elapsed="0.000499"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:45.429899" elapsed="0.001160"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:45.429814" elapsed="0.001305"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:45.459916" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:45.460240" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:45.460470" 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-08-29T23:13:45.446125" elapsed="0.014400"/>
</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-08-29T23:13:45.461377" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:45.460711" elapsed="0.000782"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:45.466284" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:45.461822" elapsed="0.004673"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:45.461543" elapsed="0.005023"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:45.460670" elapsed="0.005941"/>
</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-08-29T23:13:45.466932" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:45.472667" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:45.467990" elapsed="0.004835">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:45.467690" elapsed="0.005327">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:45.467428" elapsed="0.005757">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:45.445056" elapsed="0.028410">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:45.427541" elapsed="0.046130">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:47.477366" 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-08-29T23:13:47.476439" elapsed="0.000997"/>
</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-08-29T23:13:47.478194" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:47.477619" elapsed="0.001095"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:47.477572" elapsed="0.001195"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:47.504341" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:47.504655" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:47.505027" 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-08-29T23:13:47.492694" elapsed="0.012389"/>
</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-08-29T23:13:47.505899" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:47.505272" elapsed="0.000742"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:47.510766" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:47.506358" elapsed="0.004545"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:47.506064" elapsed="0.004930"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:47.505205" elapsed="0.005859"/>
</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-08-29T23:13:47.511416" elapsed="0.000358"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:47.517426" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:47.512462" elapsed="0.005124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:47.512193" elapsed="0.005541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:47.511925" elapsed="0.005976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:47.491815" elapsed="0.026359">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:47.475276" elapsed="0.043166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:49.521490" 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-08-29T23:13:49.520574" 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-08-29T23:13:49.522356" elapsed="0.000426"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:49.521756" elapsed="0.001153"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:49.521705" elapsed="0.001266"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:49.551088" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:49.551437" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:49.551643" 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-08-29T23:13:49.537139" elapsed="0.014557"/>
</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-08-29T23:13:49.552517" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:49.551887" elapsed="0.000745"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:49.557435" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:49.553003" elapsed="0.004537"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:49.552682" elapsed="0.004925"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:49.551816" elapsed="0.005836"/>
</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-08-29T23:13:49.557936" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:49.563586" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:49.558997" elapsed="0.004752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:49.558713" elapsed="0.005217">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:49.558439" elapsed="0.005656">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:49.536245" elapsed="0.028162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:49.519581" elapsed="0.045078">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:51.568232" 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-08-29T23:13:51.567194" 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="PASS" start="2026-08-29T23:13:51.569213" elapsed="0.000472"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:51.568602" elapsed="0.001168"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:51.568551" elapsed="0.001278"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:51.596546" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:51.596903" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:51.597161" 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-08-29T23:13:51.584712" elapsed="0.012505"/>
</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-08-29T23:13:51.598217" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:51.597441" elapsed="0.000922"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:51.603657" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:51.598730" elapsed="0.005044"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:51.598423" elapsed="0.005460"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:51.597390" elapsed="0.006545"/>
</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-08-29T23:13:51.604223" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:51.610488" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:51.605382" elapsed="0.005312">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:51.605070" elapsed="0.005846">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:51.604750" elapsed="0.006326">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:51.583763" elapsed="0.027548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:51.566090" elapsed="0.045601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:53.615199" 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-08-29T23:13:53.614236" 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-08-29T23:13:53.616275" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:53.615648" elapsed="0.001167"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:53.615579" elapsed="0.001322"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:53.641289" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:53.641622" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:53.641821" 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-08-29T23:13:53.630631" elapsed="0.011272"/>
</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-08-29T23:13:53.642681" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:53.642063" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:53.647483" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:53.643135" elapsed="0.004452"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:53.642870" elapsed="0.004785"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:53.642024" 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-08-29T23:13:53.647984" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:53.654286" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:53.649108" elapsed="0.005357">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:53.648778" elapsed="0.005837">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:53.648508" elapsed="0.006232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:53.629764" elapsed="0.025368">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:53.613153" elapsed="0.042175">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:55.658333" 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-08-29T23:13:55.657422" 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-08-29T23:13:55.659208" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:55.658611" elapsed="0.001149"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:55.658563" elapsed="0.001250"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:55.685287" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:55.685726" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:55.686064" 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-08-29T23:13:55.673871" elapsed="0.012260"/>
</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-08-29T23:13:55.687291" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:55.686377" elapsed="0.001041"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:55.692492" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:55.687805" elapsed="0.004794"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:55.687507" elapsed="0.005160"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:55.686311" elapsed="0.006400"/>
</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-08-29T23:13:55.693002" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:55.698688" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:55.694058" elapsed="0.004816">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:55.693757" elapsed="0.005271">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:55.693467" elapsed="0.005807">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:55.672977" elapsed="0.026547">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:55.656408" elapsed="0.043375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:57.702805" 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-08-29T23:13:57.701934" 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="PASS" start="2026-08-29T23:13:57.703684" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:57.703089" elapsed="0.001131"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:57.703043" elapsed="0.001244"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:57.730119" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:57.730431" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:57.730676" 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-08-29T23:13:57.718921" elapsed="0.011809"/>
</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-08-29T23:13:57.731500" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:57.730922" elapsed="0.000721"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:57.736308" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:57.731980" elapsed="0.004432"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:57.731691" elapsed="0.004789"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:57.730882" elapsed="0.005640"/>
</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-08-29T23:13:57.736803" elapsed="0.000373"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:57.742399" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:57.737814" elapsed="0.004891">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:57.737572" elapsed="0.005318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:57.737290" elapsed="0.005731">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:57.718040" elapsed="0.025187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:57.700946" elapsed="0.042507">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:59.747217" 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-08-29T23:13:59.746302" 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-08-29T23:13:59.748110" elapsed="0.000446"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:59.747511" elapsed="0.001148"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:59.747464" elapsed="0.001260"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:13:59.776628" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:13:59.777004" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:13:59.777207" 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-08-29T23:13:59.762919" elapsed="0.014341"/>
</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-08-29T23:13:59.778093" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:13:59.777416" elapsed="0.000790"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:13:59.782885" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:59.778514" elapsed="0.004586"/>
</kw>
<status status="PASS" start="2026-08-29T23:13:59.778254" elapsed="0.004917"/>
</branch>
<status status="PASS" start="2026-08-29T23:13:59.777378" elapsed="0.005837"/>
</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-08-29T23:13:59.783469" elapsed="0.000414"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:13:59.789385" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:59.784503" elapsed="0.005037">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:59.784262" elapsed="0.005453">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:59.783999" elapsed="0.005876">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:59.762017" elapsed="0.028072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:13:59.745317" elapsed="0.044968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:01.793443" 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-08-29T23:14:01.792501" 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="PASS" start="2026-08-29T23:14:01.794307" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:01.793733" elapsed="0.001094"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:01.793682" elapsed="0.001229"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:01.820480" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:01.820817" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:01.821169" 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-08-29T23:14:01.808623" elapsed="0.012600"/>
</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-08-29T23:14:01.822066" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:01.821392" elapsed="0.000787"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:01.826893" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:01.822480" elapsed="0.004520"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:01.822228" elapsed="0.004841"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:01.821351" elapsed="0.005762"/>
</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-08-29T23:14:01.827374" elapsed="0.000357"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:01.832933" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:01.828396" elapsed="0.004699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:01.828148" elapsed="0.005094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:01.827873" elapsed="0.005502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:01.807763" elapsed="0.025834">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:01.791444" elapsed="0.042370">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:03.837183" 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-08-29T23:14:03.836045" elapsed="0.001211"/>
</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-08-29T23:14:03.838112" elapsed="0.000433"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:03.837460" elapsed="0.001164"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:03.837408" elapsed="0.001272"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:03.868240" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:03.868581" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:03.868819" 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-08-29T23:14:03.855640" elapsed="0.013262"/>
</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-08-29T23:14:03.869641" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:03.869063" elapsed="0.000711"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:03.874371" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:03.870100" elapsed="0.004374"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:03.869823" elapsed="0.004719"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:03.869024" elapsed="0.005562"/>
</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-08-29T23:14:03.874880" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:03.880366" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:03.875882" elapsed="0.004649">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:03.875592" elapsed="0.005092">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:03.875334" elapsed="0.005577">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:03.854794" elapsed="0.026367">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:03.834978" elapsed="0.046379">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:05.885026" 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-08-29T23:14:05.883652" elapsed="0.001456"/>
</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-08-29T23:14:05.885956" elapsed="0.000443"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:05.885343" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:05.885288" elapsed="0.001250"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:05.913145" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:05.913469" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:05.913673" 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-08-29T23:14:05.901676" elapsed="0.012060"/>
</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-08-29T23:14:05.914630" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:05.914004" elapsed="0.000741"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:05.921296" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:05.915110" elapsed="0.006340"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:05.914818" elapsed="0.006733"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:05.913958" elapsed="0.007660"/>
</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-08-29T23:14:05.922052" elapsed="0.000506"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:05.931133" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:05.923583" elapsed="0.007799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:05.923207" elapsed="0.008399">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:05.922726" elapsed="0.009114">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:05.900757" elapsed="0.031381">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:05.882547" elapsed="0.049898">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:07.935438" 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-08-29T23:14:07.934528" elapsed="0.000980"/>
</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-08-29T23:14:07.936287" elapsed="0.000415"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:07.935698" elapsed="0.001082"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:07.935649" elapsed="0.001186"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:07.962601" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:07.962971" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:07.963171" 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-08-29T23:14:07.950615" elapsed="0.012607"/>
</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-08-29T23:14:07.964023" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:07.963380" elapsed="0.000760"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:07.968690" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:07.964440" elapsed="0.004352"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:07.964189" elapsed="0.004716"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:07.963342" elapsed="0.005610"/>
</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-08-29T23:14:07.969206" elapsed="0.000335"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:07.974677" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:07.970209" elapsed="0.004626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:07.969965" elapsed="0.005069">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:07.969655" elapsed="0.005506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:07.949759" elapsed="0.025783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:07.933518" elapsed="0.042245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:09.978823" 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-08-29T23:14:09.977895" elapsed="0.001052"/>
</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-08-29T23:14:09.979708" elapsed="0.000472"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:09.979152" elapsed="0.001106"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:09.979100" elapsed="0.001214"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:10.006156" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:10.006464" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:10.006683" 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-08-29T23:14:09.994945" 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-08-29T23:14:10.007534" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:10.006958" elapsed="0.000689"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:10.012274" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:10.007993" elapsed="0.004384"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:10.007695" elapsed="0.004750"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:10.006891" elapsed="0.005598"/>
</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-08-29T23:14:10.012740" elapsed="0.000401"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:10.018394" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:10.013764" elapsed="0.004791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:10.013517" elapsed="0.005187">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:10.013257" elapsed="0.005769">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:09.993818" elapsed="0.025424">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:09.976833" elapsed="0.042606">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:12.022560" 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-08-29T23:14:12.021611" elapsed="0.001019"/>
</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-08-29T23:14:12.023427" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:12.022826" elapsed="0.001134"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:12.022776" elapsed="0.001259"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:12.049254" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:12.049565" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:12.049764" 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-08-29T23:14:12.037829" elapsed="0.011985"/>
</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-08-29T23:14:12.050614" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:12.050027" elapsed="0.000699"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:12.055383" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:12.051088" elapsed="0.004400"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:12.050774" elapsed="0.004780"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:12.049968" elapsed="0.005629"/>
</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-08-29T23:14:12.055883" elapsed="0.000379"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:12.061921" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:12.056921" elapsed="0.005292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:12.056644" elapsed="0.005725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:12.056378" elapsed="0.006119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:12.036975" elapsed="0.025728">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:12.020562" elapsed="0.042361">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:14.065893" 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-08-29T23:14:14.065007" elapsed="0.000957"/>
</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-08-29T23:14:14.066736" elapsed="0.000470"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:14.066167" elapsed="0.001116"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:14.066119" elapsed="0.001217"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:14.093558" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:14.093908" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:14.094145" 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-08-29T23:14:14.081983" elapsed="0.012218"/>
</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-08-29T23:14:14.095177" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:14.094384" elapsed="0.000930"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:14.100754" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:14.095678" elapsed="0.005326"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:14.095374" elapsed="0.005726"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:14.094339" elapsed="0.006810"/>
</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-08-29T23:14:14.101424" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:14.107516" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:14.102526" elapsed="0.005157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:14.102242" elapsed="0.005634">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:14.101940" elapsed="0.006078">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:14.081088" elapsed="0.027184">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:14.064043" elapsed="0.044445">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:16.111377" 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-08-29T23:14:16.110481" 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="PASS" start="2026-08-29T23:14:16.112224" elapsed="0.000449"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:16.111625" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:16.111580" elapsed="0.001223"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:16.137986" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:16.138326" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:16.138655" 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-08-29T23:14:16.127777" elapsed="0.010932"/>
</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-08-29T23:14:16.139530" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:16.138903" elapsed="0.000743"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:16.144452" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:16.139976" elapsed="0.004582"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:16.139696" elapsed="0.004931"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:16.138832" elapsed="0.005838"/>
</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-08-29T23:14:16.145016" elapsed="0.000412"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:16.150836" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:16.146084" elapsed="0.004969">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:16.145808" elapsed="0.005447">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:16.145549" elapsed="0.005847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:16.126874" elapsed="0.024735">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:16.109531" elapsed="0.042286">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:18.154947" 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-08-29T23:14:18.154011" elapsed="0.001019"/>
</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-08-29T23:14:18.155891" elapsed="0.000609"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:18.155276" elapsed="0.001339"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:18.155223" elapsed="0.001477"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:18.184892" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:18.185218" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:18.185428" 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-08-29T23:14:18.173306" elapsed="0.012175"/>
</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-08-29T23:14:18.186322" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:18.185649" elapsed="0.000787"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:18.191220" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:18.186745" elapsed="0.004584"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:18.186487" elapsed="0.004911"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:18.185608" elapsed="0.005836"/>
</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-08-29T23:14:18.191700" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:18.197728" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:18.192754" elapsed="0.005165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:18.192497" elapsed="0.005571">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:18.192208" elapsed="0.006001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:18.172072" elapsed="0.026343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:18.152997" elapsed="0.045611">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:20.201666" 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-08-29T23:14:20.200733" 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-08-29T23:14:20.202545" elapsed="0.000458"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:20.201964" elapsed="0.001119"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:20.201912" elapsed="0.001228"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:20.228559" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:20.228910" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:20.229129" 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-08-29T23:14:20.217176" elapsed="0.012009"/>
</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-08-29T23:14:20.230073" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:20.229391" elapsed="0.000797"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:20.234933" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:20.230526" elapsed="0.004514"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:20.230239" elapsed="0.004871"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:20.229347" elapsed="0.005806"/>
</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-08-29T23:14:20.235433" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:20.241042" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:20.236459" elapsed="0.004740">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:20.236185" elapsed="0.005190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:20.235924" elapsed="0.005576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:20.216322" elapsed="0.025382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:20.199709" elapsed="0.042373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.245068" 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-08-29T23:14:22.244159" 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-08-29T23:14:22.245914" elapsed="0.000444"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:22.245344" elapsed="0.001093"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:22.245276" elapsed="0.001215"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:22.271276" level="INFO">GET Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:22.271593" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:22.271811" 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-08-29T23:14:22.260910" elapsed="0.010984"/>
</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-08-29T23:14:22.272658" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:22.272051" elapsed="0.000720"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:22.277456" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.273099" elapsed="0.004462"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:22.272821" elapsed="0.004808"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:22.272012" elapsed="0.005661"/>
</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-08-29T23:14:22.277963" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:22.283574" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.278970" elapsed="0.004758">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.278694" elapsed="0.005211">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.278437" elapsed="0.005599">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.260032" elapsed="0.024320">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.243173" elapsed="0.041383">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","credentials":{"username":"root","passwords":["incorrect"]}}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-08-29T23:14:22.284738" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:12:50.257751" elapsed="92.027249">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:22.285383" elapsed="0.000044"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:22.287153" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-29T23:14:22.637035" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:14:22.637477" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:14:22.637565" 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-08-29T23:14:22.637645" 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-08-29T23:14:22.286769" elapsed="0.350924"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:22.638995" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:22.638233" elapsed="0.000846"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:22.639757" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-29T23:14:22.997787" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:14:22.998243" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:14:22.998350" 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-08-29T23:14:22.998435" 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-08-29T23:14:22.639401" elapsed="0.359084"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:22.999482" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-29T23:14:23.109102" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:14:23.109387" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-29T23:14:23.109478" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:14:23.109555" 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-08-29T23:14:22.998990" elapsed="0.110609"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:23.110217" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-29T23:14:23.160417" 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-08-29T23:14:23.109992" elapsed="0.050571"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:23.176198" level="INFO">DELETE Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:23.176297" level="INFO">DELETE Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:23.176622" 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-08-29T23:14:23.160933" elapsed="0.015743"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:23.185736" level="INFO">DELETE Request : url=http://10.30.171.169: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=node0cnxkkcq9g4hh1fccp45nulvov1.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:23.186078" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:14:23.186289" 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-08-29T23:14:23.177003" elapsed="0.009360"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-29T23:14:22.286063" elapsed="0.900449"/>
</kw>
<doc>Correct credentials should result to successful mount. CONNECTED should be the device status.</doc>
<status status="FAIL" start="2026-08-29T23:12:49.604827" elapsed="93.581802">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kcO62+pOzSt88XCRMXtWPaZJpFarrbHIxCI9gX+1M+uhahNvgepC3zoVGhD6oEED1RxVtAh2gYIrKIGSprOK4RLEn8AY24aI6IdcS3RD7TEW7YstC93e883Iyc7Nc9elGAifpxrcFvIHBf8cwXdhkkzUwEX9X1R+f/hBpG66paLUoX7281sWnMXKkBN3JHTpNLXKDM2xuUeDEfigh326ZVK8OqD1AkjAd4bPUECGAspdRKCrHCj0NfBoqxAfJSx59X1CC3iQwILnHWLKCKeYIPQSMYf7Kta+ceIsyKgL3q2jnshAq3JHBhcdwKHKsRGEE1qWxHnTCqSq20Re/8ld","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-08-29T23:14:23.189634" level="INFO">Creating Session using : alias=session, url=http://10.30.171.169:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7b4b71d4bf50&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-08-29T23:14:23.189084" elapsed="0.000909"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:23.190595" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-29T23:14:23.211950" 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-08-29T23:14:23.190372" elapsed="0.021696"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:23.212611" 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-08-29T23:14:23.689266" 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-08-29T23:14:23.212411" elapsed="0.477123"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:23.690421" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-29T23:14:23.739931" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:14:23.740174" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgug...</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-08-29T23:14:23.690069" elapsed="0.050162"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:14:23.750072" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgug...</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-08-29T23:14:23.740677" elapsed="0.009502"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-29T23:14:23.188525" elapsed="0.561793"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:14:23.789575" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:14:23.751426" elapsed="0.038307"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:14:23.798509" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:14:23.790136" elapsed="0.008496"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-29T23:14:23.750747" elapsed="0.048019"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-29T23:14:23.800265" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:14:23.800703" 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-08-29T23:14:23.799943" elapsed="0.000812"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:14:23.801606" 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-08-29T23:14:23.801098" elapsed="0.000560"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:14:23.802439" 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-08-29T23:14:23.801972" elapsed="0.000520"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:23.830762" level="INFO">PUT Request : url=http://10.30.171.169: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-08-29T23:14:23.830902" level="INFO">PUT Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node01xtadgs0yn2711pl6dowpa8tlv2.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 28-Aug-2026 23:14:23 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:23.831114" 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-08-29T23:14:23.802760" elapsed="0.028405"/>
</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-08-29T23:14:23.831503" elapsed="0.004620"/>
</kw>
<arg>root</arg>
<arg>root</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-08-29T23:14:23.799205" elapsed="0.037046"/>
</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-08-29T23:14:23.851842" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:14:23.852148" 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-08-29T23:14:23.851545" elapsed="0.000655"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:14:23.853270" 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-08-29T23:14:23.852568" elapsed="0.000789"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:23.850975" elapsed="0.002516"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:23.843991" elapsed="0.009548"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-29T23:14:23.853924" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:23.853593" elapsed="0.000429"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:23.843936" elapsed="0.010129"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:14:23.854824" 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-08-29T23:14:23.854326" elapsed="0.000582"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:14:23.855684" 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-08-29T23:14:23.855193" elapsed="0.000543"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:14:23.856514" 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-08-29T23:14:23.856051" elapsed="0.000515"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:14:23.857321" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOI...</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-08-29T23:14:23.856875" elapsed="0.000520"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:23.880096" level="INFO">POST Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"
        }
    }
}
 
 </msg>
<msg time="2026-08-29T23:14:23.880271" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:23.880474" 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-08-29T23:14:23.857679" elapsed="0.022847"/>
</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-08-29T23:14:23.880832" elapsed="0.004618"/>
</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-08-29T23:14:23.836778" elapsed="0.048799"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:14:23.886256" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-29T23:14:24.213150" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:14:24.213574" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:14:24.213663" 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-08-29T23:14:24.213745" 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-08-29T23:14:23.885903" elapsed="0.327890"/>
</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-08-29T23:14:24.217545" 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-08-29T23:14:24.216735" elapsed="0.000864"/>
</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-08-29T23:14:24.218333" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:24.217768" elapsed="0.000697"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:24.217717" elapsed="0.000800"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:24.244774" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:24.245135" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:24.245355" 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-08-29T23:14:24.233122" elapsed="0.012321"/>
</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-08-29T23:14:24.246210" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:24.245601" elapsed="0.000719"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:24.250999" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:24.246639" elapsed="0.004481"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:24.246368" elapsed="0.004821"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:24.245562" elapsed="0.005670"/>
</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-08-29T23:14:24.251601" 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-08-29T23:14:24.252771" elapsed="0.004783"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:24.252473" elapsed="0.005162"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:24.262568" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:24.258074" elapsed="0.004647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:24.257800" elapsed="0.005196">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:24.252127" elapsed="0.010998">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:24.232244" elapsed="0.031091">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:24.215965" elapsed="0.047582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:26.266616" 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-08-29T23:14:26.265642" 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="NOT RUN" start="2026-08-29T23:14:26.267504" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:26.266915" elapsed="0.000710"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:26.266834" elapsed="0.000850"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:26.292496" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:26.292790" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:26.293020" 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-08-29T23:14:26.281621" elapsed="0.011451"/>
</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-08-29T23:14:26.293914" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:26.293241" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:26.299073" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:26.294348" elapsed="0.004832"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:26.294082" elapsed="0.005167"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:26.293192" elapsed="0.006100"/>
</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-08-29T23:14:26.299564" 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-08-29T23:14:26.300560" elapsed="0.004440"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:26.300300" elapsed="0.004781"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:26.309964" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:26.305505" elapsed="0.004717">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:26.305242" elapsed="0.005128">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:26.300043" elapsed="0.010474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:26.280753" elapsed="0.029967">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:26.264615" elapsed="0.046325">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:28.313873" 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-08-29T23:14:28.312949" 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="NOT RUN" start="2026-08-29T23:14:28.314673" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:28.314124" elapsed="0.000666"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:28.314078" elapsed="0.000763"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:28.339444" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:28.339771" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:28.340014" 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-08-29T23:14:28.328586" elapsed="0.011482"/>
</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-08-29T23:14:28.340932" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:28.340240" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:28.345707" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:28.341349" elapsed="0.004462"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:28.341096" elapsed="0.004815"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:28.340198" 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-08-29T23:14:28.346209" elapsed="0.000459"/>
</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-08-29T23:14:28.347325" elapsed="0.004449"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:28.347076" elapsed="0.004807"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:28.356784" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:28.352291" elapsed="0.004675">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:28.352052" elapsed="0.005059">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:28.346782" elapsed="0.010452">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:28.327721" elapsed="0.029718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:28.311978" elapsed="0.045677">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:30.360805" 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-08-29T23:14:30.359828" elapsed="0.001075"/>
</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-08-29T23:14:30.361665" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:30.361094" elapsed="0.000688"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:30.361046" elapsed="0.000789"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:30.386983" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:30.387280" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:30.387497" 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-08-29T23:14:30.376097" elapsed="0.011453"/>
</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-08-29T23:14:30.388450" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:30.387738" elapsed="0.000824"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:30.393187" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:30.388917" elapsed="0.004374"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:30.388639" elapsed="0.004720"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:30.387698" elapsed="0.005704"/>
</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-08-29T23:14:30.393676" 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-08-29T23:14:30.394676" elapsed="0.004426"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:30.394414" elapsed="0.004767"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:30.404070" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:30.399601" elapsed="0.004626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:30.399343" elapsed="0.005028">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:30.394157" elapsed="0.010334">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:30.375221" elapsed="0.029496">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:30.358748" elapsed="0.046191">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:32.407831" 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-08-29T23:14:32.406952" elapsed="0.000987"/>
</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-08-29T23:14:32.408707" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:32.408125" elapsed="0.000698"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:32.408080" elapsed="0.000849"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:32.433113" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:32.433516" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:32.433746" 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-08-29T23:14:32.422605" elapsed="0.011195"/>
</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-08-29T23:14:32.434570" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:32.433991" elapsed="0.000717"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:32.439679" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:32.435040" elapsed="0.004745"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:32.434757" elapsed="0.005125"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:32.433951" elapsed="0.005977"/>
</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-08-29T23:14:32.440182" elapsed="0.000336"/>
</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-08-29T23:14:32.441177" elapsed="0.004412"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:32.440938" elapsed="0.004754"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:32.450554" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:32.446129" elapsed="0.004604">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:32.445885" elapsed="0.005024">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:32.440627" elapsed="0.010407">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:32.421767" elapsed="0.029468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:32.405977" elapsed="0.045448">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:34.454658" 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-08-29T23:14:34.453653" elapsed="0.001099"/>
</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-08-29T23:14:34.455692" elapsed="0.000069"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:34.455116" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:34.455065" elapsed="0.000860"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:34.481058" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:34.481370" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:34.481575" 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-08-29T23:14:34.470054" elapsed="0.011574"/>
</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-08-29T23:14:34.482473" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:34.481826" elapsed="0.000763"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:34.487426" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:34.482963" elapsed="0.004571"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:34.482639" elapsed="0.004967"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:34.481787" elapsed="0.005863"/>
</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-08-29T23:14:34.487975" 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-08-29T23:14:34.489054" elapsed="0.004557"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:34.488760" elapsed="0.004935"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:34.498752" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:34.494172" elapsed="0.004771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:34.493921" elapsed="0.005171">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:34.488467" elapsed="0.010753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:34.469149" elapsed="0.030273">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:34.452562" elapsed="0.047233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:36.502930" 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-08-29T23:14:36.501997" 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="NOT RUN" start="2026-08-29T23:14:36.503791" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:36.503191" elapsed="0.000746"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:36.503143" elapsed="0.000849"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:36.530991" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:36.531306" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:36.531524" 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-08-29T23:14:36.520757" 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-08-29T23:14:36.532368" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:36.531731" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:36.537076" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:36.532799" elapsed="0.004380"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:36.532526" elapsed="0.004720"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:36.531694" elapsed="0.005595"/>
</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-08-29T23:14:36.537540" 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-08-29T23:14:36.538541" elapsed="0.004466"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:36.538304" elapsed="0.004784"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:36.548184" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:36.543516" elapsed="0.004824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:36.543277" elapsed="0.005206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:36.538046" elapsed="0.010556">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:36.519930" elapsed="0.029017">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:36.500964" elapsed="0.048178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:38.552476" 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-08-29T23:14:38.551485" elapsed="0.001065"/>
</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-08-29T23:14:38.553394" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:38.552761" elapsed="0.000750"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:38.552704" elapsed="0.000866"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:38.579688" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:38.580098" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:38.580303" 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-08-29T23:14:38.568194" elapsed="0.012161"/>
</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-08-29T23:14:38.581165" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:38.580513" elapsed="0.000767"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:38.585961" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:38.581590" elapsed="0.004475"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:38.581330" elapsed="0.004802"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:38.580475" elapsed="0.005706"/>
</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-08-29T23:14:38.586460" elapsed="0.000357"/>
</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-08-29T23:14:38.587543" elapsed="0.005438"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:38.587297" elapsed="0.005769"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:38.598116" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:38.593475" elapsed="0.004813">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:38.593235" elapsed="0.005204">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:38.587018" elapsed="0.011641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:38.567268" elapsed="0.031658">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:38.550359" elapsed="0.048763">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:40.602456" 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-08-29T23:14:40.601432" 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="NOT RUN" start="2026-08-29T23:14:40.603350" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:40.602733" elapsed="0.000734"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:40.602678" elapsed="0.000850"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:40.628899" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:40.629238" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:40.629439" 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-08-29T23:14:40.618371" elapsed="0.011121"/>
</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-08-29T23:14:40.630311" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:40.629652" elapsed="0.000772"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:40.635107" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:40.630764" elapsed="0.004446"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:40.630486" elapsed="0.004791"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:40.629612" elapsed="0.005709"/>
</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-08-29T23:14:40.635574" elapsed="0.000401"/>
</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-08-29T23:14:40.636602" elapsed="0.004567"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:40.636359" elapsed="0.004892"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:40.646375" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:40.641657" elapsed="0.004878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:40.641415" elapsed="0.005375">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:40.636092" elapsed="0.010881">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:40.617474" elapsed="0.029713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:40.600332" elapsed="0.047048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:42.650669" 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-08-29T23:14:42.649643" elapsed="0.001103"/>
</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-08-29T23:14:42.651599" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:42.651012" elapsed="0.000710"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:42.650930" elapsed="0.000851"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:42.678085" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:42.678408" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:42.678660" 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-08-29T23:14:42.666668" elapsed="0.012047"/>
</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-08-29T23:14:42.679571" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:42.678913" elapsed="0.000777"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:42.684425" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:42.680057" elapsed="0.004473"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:42.679741" elapsed="0.004857"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:42.678834" elapsed="0.005821"/>
</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-08-29T23:14:42.684967" 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-08-29T23:14:42.686078" elapsed="0.004887"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:42.685768" elapsed="0.005307"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:42.696531" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:42.691493" elapsed="0.005306">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:42.691246" elapsed="0.005766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:42.685477" elapsed="0.011677">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:42.665740" elapsed="0.031644">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:42.648555" elapsed="0.049030">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:44.701024" 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-08-29T23:14:44.699814" elapsed="0.001311"/>
</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-08-29T23:14:44.702139" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:44.701332" elapsed="0.000933"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:44.701279" elapsed="0.001048"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:44.727830" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:44.728223" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:44.728429" 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-08-29T23:14:44.716961" elapsed="0.011523"/>
</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-08-29T23:14:44.729322" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:44.728643" elapsed="0.000797"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:44.734234" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:44.729745" elapsed="0.004600"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:44.729488" elapsed="0.004927"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:44.728603" elapsed="0.005855"/>
</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-08-29T23:14:44.734716" elapsed="0.000532"/>
</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-08-29T23:14:44.735929" elapsed="0.005170"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:44.735649" elapsed="0.005535"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:44.746309" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:44.741624" elapsed="0.004850">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:44.741372" elapsed="0.005272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:44.735378" elapsed="0.011391">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:44.716060" elapsed="0.030948">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:44.698731" elapsed="0.048502">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:46.750484" 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-08-29T23:14:46.749469" 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-08-29T23:14:46.751401" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:46.750762" elapsed="0.000784"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:46.750710" elapsed="0.000898"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:46.776693" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:46.777049" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:46.777286" 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-08-29T23:14:46.765829" elapsed="0.011528"/>
</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-08-29T23:14:46.778310" elapsed="0.000064"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:46.777526" elapsed="0.000928"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:46.783265" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:46.778776" elapsed="0.004597"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:46.778508" elapsed="0.004934"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:46.777486" elapsed="0.006002"/>
</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-08-29T23:14:46.783772" elapsed="0.000415"/>
</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-08-29T23:14:46.784978" elapsed="0.004583"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:46.784568" elapsed="0.005075"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:46.794757" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:46.790154" elapsed="0.004801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:46.789831" elapsed="0.005318">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:46.784303" elapsed="0.010978">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:46.764969" elapsed="0.030518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:46.748386" elapsed="0.047300">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:48.798668" 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-08-29T23:14:48.797753" 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="NOT RUN" start="2026-08-29T23:14:48.799547" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:48.798955" elapsed="0.000706"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:48.798906" elapsed="0.000809"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:48.825035" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:48.825450" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:48.825677" 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-08-29T23:14:48.814279" elapsed="0.011451"/>
</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-08-29T23:14:48.826543" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:48.825920" elapsed="0.000735"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:48.831251" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:48.826985" elapsed="0.004370"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:48.826704" elapsed="0.004719"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:48.825878" elapsed="0.005590"/>
</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-08-29T23:14:48.831721" elapsed="0.000373"/>
</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-08-29T23:14:48.832722" elapsed="0.004470"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:48.832481" elapsed="0.004793"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:48.842202" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:48.837679" elapsed="0.004677">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:48.837438" elapsed="0.005062">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:48.832223" elapsed="0.010397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:48.813390" elapsed="0.029431">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:48.796741" elapsed="0.046305">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:50.846031" 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-08-29T23:14:50.845116" 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="NOT RUN" start="2026-08-29T23:14:50.847020" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:50.846431" elapsed="0.000708"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:50.846382" elapsed="0.000808"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:50.871613" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:50.871951" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:50.872152" 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-08-29T23:14:50.860839" elapsed="0.011365"/>
</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-08-29T23:14:50.872997" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:50.872388" elapsed="0.000721"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:50.877655" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:50.873445" elapsed="0.004315"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:50.873159" elapsed="0.004668"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:50.872349" elapsed="0.005554"/>
</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-08-29T23:14:50.878157" elapsed="0.000357"/>
</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-08-29T23:14:50.879154" elapsed="0.004871"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:50.878914" elapsed="0.005191"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:50.889022" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:50.884539" elapsed="0.004636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:50.884294" elapsed="0.005054">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:50.878624" elapsed="0.010849">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:50.859997" elapsed="0.029677">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:50.844137" elapsed="0.045843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:52.893062" 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-08-29T23:14:52.892061" elapsed="0.001081"/>
</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-08-29T23:14:52.893980" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:52.893382" elapsed="0.000720"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:52.893327" elapsed="0.000841"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:52.920105" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:52.920455" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:52.920659" 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-08-29T23:14:52.908597" elapsed="0.012113"/>
</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-08-29T23:14:52.921544" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:52.920903" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:52.926605" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:52.922018" elapsed="0.004692"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:52.921713" elapsed="0.005068"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:52.920832" elapsed="0.005995"/>
</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-08-29T23:14:52.927120" 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-08-29T23:14:52.928182" elapsed="0.004576"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:52.927934" elapsed="0.004907"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:52.937974" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:52.933330" elapsed="0.004801">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:52.933047" elapsed="0.005253">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:52.927631" elapsed="0.010802">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:52.907704" elapsed="0.031060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:52.891042" elapsed="0.047968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:54.942002" 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-08-29T23:14:54.941087" 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-08-29T23:14:54.942884" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:54.942288" elapsed="0.000729"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:54.942240" elapsed="0.000829"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:54.971324" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:54.971629" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:54.971898" 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-08-29T23:14:54.960038" elapsed="0.011918"/>
</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-08-29T23:14:54.972946" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:54.972142" elapsed="0.000926"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:54.977792" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:54.973436" elapsed="0.004492"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:54.973122" elapsed="0.004875"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:54.972095" elapsed="0.005947"/>
</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-08-29T23:14:54.978322" 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-08-29T23:14:54.979351" elapsed="0.004458"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:54.979068" elapsed="0.004856"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:54.989388" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:54.984353" elapsed="0.005272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:54.984090" elapsed="0.005700">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:54.978772" elapsed="0.011272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:54.958927" elapsed="0.031353">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:54.940081" elapsed="0.050393">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:56.993648" 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-08-29T23:14:56.992670" elapsed="0.001049"/>
</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-08-29T23:14:56.994519" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:56.993949" elapsed="0.000683"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:56.993896" elapsed="0.000790"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:57.019773" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:57.020149" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:57.020350" 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-08-29T23:14:57.008615" 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-08-29T23:14:57.021197" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:57.020556" elapsed="0.000753"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:57.026605" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:57.021634" elapsed="0.005076"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:57.021358" elapsed="0.005419"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:57.020517" elapsed="0.006304"/>
</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-08-29T23:14:57.027135" 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-08-29T23:14:57.028155" elapsed="0.004417"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:57.027887" elapsed="0.004770"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:57.037708" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:57.033120" elapsed="0.004790">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:57.032823" elapsed="0.005366">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:57.027591" elapsed="0.010744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:57.007739" elapsed="0.030829">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:56.991595" elapsed="0.047162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:14:59.042023" 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-08-29T23:14:59.041084" 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-08-29T23:14:59.042812" elapsed="0.000074"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:59.042276" elapsed="0.000683"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:59.042229" elapsed="0.000804"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:14:59.067332" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:14:59.067638" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:14:59.067834" 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-08-29T23:14:59.056784" elapsed="0.011133"/>
</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-08-29T23:14:59.068686" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:14:59.068097" elapsed="0.000699"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:14:59.073482" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:14:59.069175" elapsed="0.004408"/>
</kw>
<status status="PASS" start="2026-08-29T23:14:59.068884" elapsed="0.004765"/>
</branch>
<status status="PASS" start="2026-08-29T23:14:59.068059" elapsed="0.005633"/>
</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-08-29T23:14:59.073975" elapsed="0.000365"/>
</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-08-29T23:14:59.074977" elapsed="0.004501"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:14:59.074708" elapsed="0.004849"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:14:59.084602" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:59.080008" elapsed="0.004898">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:14:59.079715" elapsed="0.005362">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:14:59.074452" elapsed="0.010781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:59.055944" elapsed="0.029518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:14:59.039923" elapsed="0.045732">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:01.088612" 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-08-29T23:15:01.087713" 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-08-29T23:15:01.089450" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:01.088892" elapsed="0.000674"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:01.088816" elapsed="0.000800"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:01.115472" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:01.115764" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:01.116041" 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-08-29T23:15:01.103971" elapsed="0.012124"/>
</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-08-29T23:15:01.116817" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:01.116252" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:01.121524" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:01.117279" elapsed="0.004347"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:01.117031" elapsed="0.004664"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:01.116214" elapsed="0.005523"/>
</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-08-29T23:15:01.122043" elapsed="0.000437"/>
</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-08-29T23:15:01.123143" elapsed="0.004556"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:01.122879" elapsed="0.004901"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:01.132817" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:01.128243" elapsed="0.004777">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:01.127999" elapsed="0.005166">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:01.122592" elapsed="0.010696">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:01.103089" elapsed="0.030400">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:01.086753" elapsed="0.046928">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:03.136598" 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-08-29T23:15:03.135658" 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="NOT RUN" start="2026-08-29T23:15:03.137455" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:03.136905" elapsed="0.000665"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:03.136813" elapsed="0.000813"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:03.162600" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:03.162975" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:03.163181" 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-08-29T23:15:03.151519" elapsed="0.011715"/>
</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-08-29T23:15:03.164174" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:03.163392" elapsed="0.000900"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:03.169330" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:03.164611" elapsed="0.004825"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:03.164342" elapsed="0.005163"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:03.163354" elapsed="0.006195"/>
</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-08-29T23:15:03.169804" elapsed="0.000403"/>
</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-08-29T23:15:03.170824" elapsed="0.004483"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:03.170580" elapsed="0.004817"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:03.180494" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:03.175901" elapsed="0.004745">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:03.175584" elapsed="0.005206">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:03.170322" elapsed="0.010643">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:03.150646" elapsed="0.030523">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:03.134662" elapsed="0.046695">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:05.184260" 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-08-29T23:15:05.183373" 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-08-29T23:15:05.185135" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:05.184511" elapsed="0.000739"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:05.184465" elapsed="0.000837"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:05.209382" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:05.209803" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:05.210036" 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-08-29T23:15:05.198934" elapsed="0.011153"/>
</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-08-29T23:15:05.210880" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:05.210242" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:05.215551" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:05.211304" elapsed="0.004349"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:05.211043" elapsed="0.004677"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:05.210204" elapsed="0.005558"/>
</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-08-29T23:15:05.216069" elapsed="0.000337"/>
</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-08-29T23:15:05.217065" elapsed="0.004469"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:05.216796" elapsed="0.004818"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:05.226531" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:05.222071" elapsed="0.004609">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:05.221799" elapsed="0.005074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:05.216515" elapsed="0.010487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:05.198066" elapsed="0.029139">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:05.182373" elapsed="0.045035">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:07.230369" 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-08-29T23:15:07.229433" 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="NOT RUN" start="2026-08-29T23:15:07.231369" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:07.230791" elapsed="0.000692"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:07.230739" elapsed="0.000798"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:07.257099" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:07.257405" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:07.257630" 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-08-29T23:15:07.246288" elapsed="0.011394"/>
</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-08-29T23:15:07.258510" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:07.257899" elapsed="0.000719"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:07.263245" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:07.258986" elapsed="0.004362"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:07.258669" elapsed="0.004746"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:07.257831" elapsed="0.005627"/>
</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-08-29T23:15:07.263729" elapsed="0.000371"/>
</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-08-29T23:15:07.264728" elapsed="0.004430"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:07.264465" elapsed="0.004774"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:07.274094" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:07.269635" elapsed="0.004610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:07.269398" elapsed="0.004988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:07.264211" elapsed="0.010297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:07.245390" elapsed="0.029338">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:07.228427" elapsed="0.046608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:09.277905" 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-08-29T23:15:09.277030" 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-08-29T23:15:09.278732" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:09.278151" elapsed="0.000723"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:09.278106" elapsed="0.000823"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:09.303588" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:09.303968" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:09.304173" 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-08-29T23:15:09.292875" elapsed="0.011348"/>
</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-08-29T23:15:09.305026" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:09.304377" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:09.310120" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:09.305440" elapsed="0.004782"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:09.305185" elapsed="0.005106"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:09.304339" elapsed="0.005995"/>
</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-08-29T23:15:09.310581" elapsed="0.000448"/>
</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-08-29T23:15:09.311654" elapsed="0.004517"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:09.311394" elapsed="0.004859"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:09.321199" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:09.316694" elapsed="0.004660">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:09.316419" elapsed="0.005082">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:09.311140" elapsed="0.010482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:09.291995" elapsed="0.029985">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:09.276100" elapsed="0.046074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:11.325065" 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-08-29T23:15:11.324181" 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-08-29T23:15:11.325886" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:11.325310" elapsed="0.000692"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:11.325265" elapsed="0.000787"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:11.352180" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:11.352504" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:11.352730" 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-08-29T23:15:11.339634" elapsed="0.013146"/>
</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-08-29T23:15:11.353581" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:11.352966" elapsed="0.000728"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:11.358285" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:11.354031" elapsed="0.004353"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:11.353742" elapsed="0.004708"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:11.352928" elapsed="0.005565"/>
</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-08-29T23:15:11.358776" elapsed="0.000373"/>
</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-08-29T23:15:11.359780" elapsed="0.004604"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:11.359523" elapsed="0.004942"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:11.369599" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:11.364918" elapsed="0.005010">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:11.364647" elapsed="0.005432">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:11.359260" elapsed="0.011047">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:11.338759" elapsed="0.031766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:11.323247" elapsed="0.047493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:13.373696" 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-08-29T23:15:13.372763" elapsed="0.001002"/>
</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-08-29T23:15:13.374567" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:13.373979" elapsed="0.000705"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:13.373931" elapsed="0.000804"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:13.402413" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:13.402761" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:13.403014" 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-08-29T23:15:13.391307" elapsed="0.011760"/>
</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-08-29T23:15:13.403837" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:13.403225" elapsed="0.000755"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:13.408550" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:13.404276" elapsed="0.004377"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:13.404029" elapsed="0.004690"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:13.403186" elapsed="0.005574"/>
</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-08-29T23:15:13.409037" 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-08-29T23:15:13.410043" elapsed="0.004373"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:13.409775" elapsed="0.004744"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:13.419406" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:13.414952" elapsed="0.004636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:13.414686" elapsed="0.005134">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:13.409489" elapsed="0.010489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:13.390427" elapsed="0.029753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:13.371810" elapsed="0.048560">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:15.423345" 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-08-29T23:15:15.422407" 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="NOT RUN" start="2026-08-29T23:15:15.424214" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:15.423633" elapsed="0.000697"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:15.423581" elapsed="0.000805"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:15.450783" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:15.451245" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:15.451498" 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-08-29T23:15:15.438520" elapsed="0.013034"/>
</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-08-29T23:15:15.452418" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:15.451736" elapsed="0.000821"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:15.457173" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:15.452891" elapsed="0.004385"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:15.452607" elapsed="0.004736"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:15.451692" elapsed="0.005694"/>
</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-08-29T23:15:15.457662" elapsed="0.000371"/>
</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-08-29T23:15:15.458674" elapsed="0.042732"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:15.458403" elapsed="0.043101"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:15.504697" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:15.501862" elapsed="0.003040">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:15.501639" elapsed="0.003358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:15.458145" elapsed="0.046930">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:15.437611" elapsed="0.067599">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:15.421424" elapsed="0.083906">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:17.509232" 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-08-29T23:15:17.508109" elapsed="0.001211"/>
</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-08-29T23:15:17.510270" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:17.509575" elapsed="0.000860"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:17.509513" elapsed="0.000994"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:17.535922" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:17.536240" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:17.536480" 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-08-29T23:15:17.524509" elapsed="0.012027"/>
</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-08-29T23:15:17.537355" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:17.536702" elapsed="0.000789"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:17.542243" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:17.537796" elapsed="0.004550"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:17.537542" elapsed="0.004895"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:17.536662" elapsed="0.005819"/>
</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-08-29T23:15:17.542735" elapsed="0.000481"/>
</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-08-29T23:15:17.543914" elapsed="0.004414"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:17.543631" elapsed="0.004802"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:17.553646" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:17.548837" elapsed="0.004968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:17.548598" elapsed="0.005391">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:17.543337" elapsed="0.010775">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:17.523635" elapsed="0.030682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:17.506655" elapsed="0.047876">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:19.557572" 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-08-29T23:15:19.556549" 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="NOT RUN" start="2026-08-29T23:15:19.558415" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:19.557826" elapsed="0.000710"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:19.557780" elapsed="0.000806"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:19.583155" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:19.583472" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:19.583670" 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-08-29T23:15:19.572515" elapsed="0.011208"/>
</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-08-29T23:15:19.584637" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:19.583912" elapsed="0.000840"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:19.589377" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:19.585085" elapsed="0.004396"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:19.584803" elapsed="0.004751"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:19.583841" elapsed="0.005756"/>
</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-08-29T23:15:19.589875" elapsed="0.000346"/>
</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-08-29T23:15:19.590889" elapsed="0.004457"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:19.590615" elapsed="0.004812"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:19.600421" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:19.595825" elapsed="0.004752">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:19.595586" elapsed="0.005137">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:19.590354" elapsed="0.010518">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:19.571625" elapsed="0.029458">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:19.555565" elapsed="0.045708">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:21.603758" 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-08-29T23:15:21.603116" elapsed="0.000694"/>
</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-08-29T23:15:21.604411" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:21.603982" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:21.603940" elapsed="0.000589"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:21.635651" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:21.636190" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:21.636537" 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-08-29T23:15:21.616082" elapsed="0.020519"/>
</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-08-29T23:15:21.637632" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:21.636813" elapsed="0.000938"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:21.643484" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:21.638127" elapsed="0.005498"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:21.637804" elapsed="0.005916"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:21.636758" elapsed="0.007019"/>
</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-08-29T23:15:21.644186" 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-08-29T23:15:21.645324" elapsed="0.004477"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:21.645030" elapsed="0.004887"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:21.654962" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:21.650352" elapsed="0.004771">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:21.650085" elapsed="0.005210">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:21.644721" elapsed="0.010699">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:21.615015" elapsed="0.040620">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:21.602340" elapsed="0.053487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:23.658776" 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-08-29T23:15:23.657836" elapsed="0.001039"/>
</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-08-29T23:15:23.659764" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:23.659215" elapsed="0.000701"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:23.659145" elapsed="0.000828"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:23.685713" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:23.686077" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:23.686312" 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-08-29T23:15:23.674029" elapsed="0.012336"/>
</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-08-29T23:15:23.687225" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:23.686535" elapsed="0.000805"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:23.692412" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:23.687643" elapsed="0.004888"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:23.687391" elapsed="0.005218"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:23.686493" elapsed="0.006168"/>
</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-08-29T23:15:23.692976" 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-08-29T23:15:23.694087" elapsed="0.004531"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:23.693781" elapsed="0.004917"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:23.703610" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:23.699151" elapsed="0.004623">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:23.698900" elapsed="0.005052">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:23.693512" elapsed="0.010565">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:23.673063" elapsed="0.031244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:23.656836" elapsed="0.047755">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:25.707651" 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-08-29T23:15:25.706744" elapsed="0.000975"/>
</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-08-29T23:15:25.708502" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:25.707935" elapsed="0.000683"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:25.707886" elapsed="0.000784"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:25.733220" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:25.733534" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:25.733733" 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-08-29T23:15:25.722728" elapsed="0.011057"/>
</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-08-29T23:15:25.734705" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:25.733981" elapsed="0.000845"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:25.739531" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:25.735204" elapsed="0.004428"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:25.734912" elapsed="0.004788"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:25.733936" elapsed="0.005806"/>
</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-08-29T23:15:25.740029" elapsed="0.000371"/>
</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-08-29T23:15:25.741049" elapsed="0.005062"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:25.740777" elapsed="0.005448"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:25.751253" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:25.746678" elapsed="0.004736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:25.746406" elapsed="0.005156">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:25.740516" elapsed="0.011165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:25.721870" elapsed="0.030168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:25.705692" elapsed="0.046569">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:27.755523" 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-08-29T23:15:27.754543" 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-08-29T23:15:27.756490" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:27.755815" elapsed="0.000801"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:27.755751" elapsed="0.000919"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:27.782530" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:27.782888" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:27.783200" 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-08-29T23:15:27.772914" elapsed="0.010353"/>
</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-08-29T23:15:27.784233" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:27.783445" elapsed="0.000941"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:27.789672" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:27.784802" elapsed="0.004980"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:27.784456" elapsed="0.005434"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:27.783400" elapsed="0.006538"/>
</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-08-29T23:15:27.790239" 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-08-29T23:15:27.791422" elapsed="0.004567"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:27.791131" elapsed="0.004939"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:27.801191" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:27.796507" elapsed="0.004844">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:27.796263" elapsed="0.005234">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:27.790738" elapsed="0.011014">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:27.771819" elapsed="0.030207">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:27.753455" elapsed="0.048803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:29.805275" 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-08-29T23:15:29.804351" elapsed="0.000993"/>
</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-08-29T23:15:29.806119" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:29.805528" elapsed="0.000708"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:29.805482" elapsed="0.000808"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:29.832451" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:29.832762" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:29.832995" 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-08-29T23:15:29.819984" elapsed="0.013085"/>
</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-08-29T23:15:29.833801" elapsed="0.000087"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:29.833228" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:29.839476" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:29.834320" elapsed="0.005263"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:29.834030" elapsed="0.005619"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:29.833189" elapsed="0.006503"/>
</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-08-29T23:15:29.840085" 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-08-29T23:15:29.841153" elapsed="0.004440"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:29.840830" elapsed="0.004842"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:29.850594" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:29.846144" elapsed="0.004605">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:29.845832" elapsed="0.005189">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:29.840566" elapsed="0.010608">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:29.819112" elapsed="0.032265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:29.803363" elapsed="0.048203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:31.854506" 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-08-29T23:15:31.853617" 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="NOT RUN" start="2026-08-29T23:15:31.855337" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:31.854751" elapsed="0.000702"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:31.854706" elapsed="0.000798"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:31.881102" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:31.881394" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:31.881588" 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-08-29T23:15:31.869179" elapsed="0.012460"/>
</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-08-29T23:15:31.882418" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:31.881792" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:31.887137" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:31.882828" elapsed="0.004411"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:31.882580" elapsed="0.004724"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:31.881755" elapsed="0.005591"/>
</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-08-29T23:15:31.887596" 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-08-29T23:15:31.888603" elapsed="0.004528"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:31.888362" elapsed="0.004850"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:31.898150" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:31.893615" elapsed="0.004800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:31.893373" elapsed="0.005215">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:31.888101" elapsed="0.010636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:31.868310" elapsed="0.030689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:31.852671" elapsed="0.046532">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:33.902231" 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-08-29T23:15:33.901315" 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-08-29T23:15:33.903079" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:33.902488" elapsed="0.000709"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:33.902442" elapsed="0.000808"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:33.928375" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:33.928689" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:33.928962" 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-08-29T23:15:33.917708" elapsed="0.011310"/>
</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-08-29T23:15:33.929757" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:33.929176" elapsed="0.000726"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:33.934616" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:33.930265" elapsed="0.004455"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:33.929987" elapsed="0.004802"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:33.929137" elapsed="0.005694"/>
</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-08-29T23:15:33.935139" 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-08-29T23:15:33.936274" elapsed="0.004511"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:33.936031" elapsed="0.004866"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:33.945933" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:33.941323" elapsed="0.004836">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:33.941085" elapsed="0.005242">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:33.935715" elapsed="0.010736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:33.916837" elapsed="0.029824">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:33.900310" elapsed="0.046580">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:35.950029" 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-08-29T23:15:35.949016" 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="NOT RUN" start="2026-08-29T23:15:35.951047" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:35.950345" elapsed="0.000832"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:35.950293" elapsed="0.000938"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:35.976264" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:35.976589" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:35.976791" 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-08-29T23:15:35.965063" elapsed="0.011812"/>
</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-08-29T23:15:35.977937" elapsed="0.000065"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:35.977069" elapsed="0.001000"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:35.983293" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:35.978380" elapsed="0.005047"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:35.978122" elapsed="0.005384"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:35.977029" elapsed="0.006538"/>
</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-08-29T23:15:35.983837" 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-08-29T23:15:35.984928" elapsed="0.004487"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:35.984623" elapsed="0.004873"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:35.994443" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:35.989997" elapsed="0.004601">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:35.989656" elapsed="0.005087">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:35.984361" elapsed="0.010555">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:35.964185" elapsed="0.030946">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:35.947997" elapsed="0.047323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:37.998468" 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-08-29T23:15:37.997490" elapsed="0.001047"/>
</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-08-29T23:15:37.999326" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:37.998730" elapsed="0.000712"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:37.998682" elapsed="0.000813"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:38.024400" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:38.024908" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:38.025152" 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-08-29T23:15:38.013335" elapsed="0.011870"/>
</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-08-29T23:15:38.026144" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:38.025400" elapsed="0.000864"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:38.031159" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:38.026585" elapsed="0.004682"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:38.026317" elapsed="0.005018"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:38.025352" elapsed="0.006026"/>
</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-08-29T23:15:38.031635" 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-08-29T23:15:38.032686" elapsed="0.004404"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:38.032428" elapsed="0.004742"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:38.042171" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:38.037614" elapsed="0.004719">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:38.037333" elapsed="0.005150">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:38.032156" elapsed="0.010450">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:38.012476" elapsed="0.030343">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:37.996453" elapsed="0.046607">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:40.046146" 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-08-29T23:15:40.045163" elapsed="0.001063"/>
</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-08-29T23:15:40.047190" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:40.046547" elapsed="0.000762"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:40.046498" elapsed="0.000867"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:40.071303" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:40.071608" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:40.071877" 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-08-29T23:15:40.061714" elapsed="0.010219"/>
</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-08-29T23:15:40.072678" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:40.072091" elapsed="0.000698"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:40.077505" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:40.073146" elapsed="0.004461"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:40.072892" elapsed="0.004790"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:40.072052" elapsed="0.005684"/>
</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-08-29T23:15:40.078055" elapsed="0.000384"/>
</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-08-29T23:15:40.079119" elapsed="0.004427"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:40.078871" elapsed="0.004756"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:40.088692" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:40.084101" elapsed="0.004797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:40.083787" elapsed="0.005260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:40.078555" elapsed="0.010615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:40.060886" elapsed="0.028489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:40.044145" elapsed="0.045498">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:42.092682" 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-08-29T23:15:42.091747" elapsed="0.001006"/>
</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-08-29T23:15:42.093552" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:42.093001" elapsed="0.000665"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:42.092947" elapsed="0.000776"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:42.117784" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:42.118137" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:42.118331" 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-08-29T23:15:42.107396" elapsed="0.010986"/>
</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-08-29T23:15:42.119153" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:42.118534" elapsed="0.000732"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:42.124594" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:42.119564" elapsed="0.005133"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:42.119315" elapsed="0.005473"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:42.118497" elapsed="0.006337"/>
</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-08-29T23:15:42.125116" elapsed="0.000582"/>
</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-08-29T23:15:42.126528" elapsed="0.004943"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:42.126219" elapsed="0.005332"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:42.136459" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:42.132005" elapsed="0.004613">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:42.131712" elapsed="0.005074">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:42.125878" elapsed="0.011062">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:42.106539" elapsed="0.030725">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:42.090694" elapsed="0.046913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:44.140587" 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-08-29T23:15:44.139642" 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-08-29T23:15:44.141454" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:44.140904" elapsed="0.000663"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:44.140825" elapsed="0.000800"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:44.168455" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:44.168805" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:44.169048" 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-08-29T23:15:44.155930" elapsed="0.013174"/>
</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-08-29T23:15:44.169943" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:44.169271" elapsed="0.000790"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:44.175002" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:44.170380" elapsed="0.004731"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:44.170115" elapsed="0.005067"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:44.169229" elapsed="0.006000"/>
</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-08-29T23:15:44.175498" elapsed="0.000413"/>
</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-08-29T23:15:44.176575" elapsed="0.004834"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:44.176316" elapsed="0.005177"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:44.186760" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:44.181970" elapsed="0.004986">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:44.181664" elapsed="0.005446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:44.176034" elapsed="0.011311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:44.155010" elapsed="0.032561">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:44.138612" elapsed="0.049190">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:46.191521" 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-08-29T23:15:46.190256" 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="NOT RUN" start="2026-08-29T23:15:46.192556" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:46.191943" elapsed="0.000731"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:46.191839" elapsed="0.000921"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:46.218982" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:46.219299" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:46.219520" 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-08-29T23:15:46.207314" elapsed="0.012258"/>
</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-08-29T23:15:46.220377" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:46.219759" elapsed="0.000729"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:46.225437" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:46.220813" elapsed="0.004764"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:46.220537" elapsed="0.005133"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:46.219718" elapsed="0.006044"/>
</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-08-29T23:15:46.226148" elapsed="0.000447"/>
</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-08-29T23:15:46.227289" elapsed="0.004472"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:46.227042" elapsed="0.004799"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:46.236780" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:46.232276" elapsed="0.004703">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:46.232036" elapsed="0.005224">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:46.226740" elapsed="0.010686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:46.206383" elapsed="0.031261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:46.188949" elapsed="0.049076">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:48.240988" 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-08-29T23:15:48.240071" 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="NOT RUN" start="2026-08-29T23:15:48.241808" elapsed="0.000073"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:48.241247" elapsed="0.000708"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:48.241198" elapsed="0.000809"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:48.266419" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:48.266768" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:48.267000" 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-08-29T23:15:48.255619" elapsed="0.011433"/>
</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-08-29T23:15:48.267999" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:48.267211" elapsed="0.000923"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:48.274110" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:48.268513" elapsed="0.005723"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:48.268194" elapsed="0.006112"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:48.267172" elapsed="0.007177"/>
</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-08-29T23:15:48.274609" elapsed="0.000418"/>
</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-08-29T23:15:48.275681" elapsed="0.004463"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:48.275409" elapsed="0.004816"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:48.285181" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:48.280632" elapsed="0.004827">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:48.280389" elapsed="0.005223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:48.275144" elapsed="0.010622">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:48.254777" elapsed="0.031236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:48.239091" elapsed="0.047117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:50.289204" 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-08-29T23:15:50.288235" 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-08-29T23:15:50.290162" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:50.289462" elapsed="0.000821"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:50.289414" elapsed="0.000925"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:50.314792" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:50.315147" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:50.315351" 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-08-29T23:15:50.304546" elapsed="0.010863"/>
</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-08-29T23:15:50.316248" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:50.315591" elapsed="0.000768"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:50.321161" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:50.316695" elapsed="0.004569"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:50.316407" elapsed="0.004928"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:50.315547" elapsed="0.005839"/>
</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-08-29T23:15:50.321707" elapsed="0.000486"/>
</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-08-29T23:15:50.322962" elapsed="0.004553"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:50.322674" elapsed="0.004988"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:50.332678" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:50.328193" elapsed="0.004645">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:50.327923" elapsed="0.005095">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:50.322336" elapsed="0.010805">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:50.303668" elapsed="0.029679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:50.287245" elapsed="0.046292">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:52.336889" 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-08-29T23:15:52.335927" elapsed="0.001039"/>
</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-08-29T23:15:52.337758" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:52.337176" elapsed="0.000729"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:52.337122" elapsed="0.000844"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:52.368676" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:52.369140" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:52.369619" 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-08-29T23:15:52.356518" elapsed="0.013181"/>
</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-08-29T23:15:52.371234" elapsed="0.000076"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:52.370035" elapsed="0.001358"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:52.376833" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:52.372068" elapsed="0.004899"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:52.371469" elapsed="0.005567"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:52.369951" elapsed="0.007128"/>
</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-08-29T23:15:52.377338" elapsed="0.000378"/>
</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-08-29T23:15:52.378421" elapsed="0.004473"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:52.378144" elapsed="0.004835"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:52.387837" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:52.383387" elapsed="0.004641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:52.383145" elapsed="0.005032">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:52.377838" elapsed="0.010460">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:52.355376" elapsed="0.033138">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:52.334834" elapsed="0.053901">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<kw name="Check Device status" owner="NetconfCallHome">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-29T23:15:54.391708" 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-08-29T23:15:54.390773" 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="NOT RUN" start="2026-08-29T23:15:54.392569" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:54.391994" elapsed="0.000692"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:54.391946" elapsed="0.000790"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:54.417323" level="INFO">GET Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:54.417735" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:54.417967" 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-08-29T23:15:54.406467" elapsed="0.011553"/>
</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-08-29T23:15:54.418789" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:54.418177" elapsed="0.000757"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:54.423484" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:54.419238" elapsed="0.004370"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:54.418984" elapsed="0.004695"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:54.418138" elapsed="0.005585"/>
</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-08-29T23:15:54.424005" 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-08-29T23:15:54.425017" elapsed="0.004814"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:15:54.424745" elapsed="0.005199"/>
</iter>
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:54.434882" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:54.430357" elapsed="0.004679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<var name="${i}">"device-status":"CONNECTED"</var>
<status status="FAIL" start="2026-08-29T23:15:54.430112" elapsed="0.005072">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:54.424461" elapsed="0.010847">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:54.405619" elapsed="0.029922">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<arg>CONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="FAIL" start="2026-08-29T23:15:54.389767" elapsed="0.045989">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' does not contain '"device-status":"CONNECTED"'</status>
</kw>
<msg time="2026-08-29T23:15:54.435971" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:14:24.214429" elapsed="90.221821">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:54.436632" elapsed="0.000045"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:54.438315" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-29T23:15:54.767010" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:15:54.767397" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:15:54.767485" 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-08-29T23:15:54.767605" 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-08-29T23:15:54.437968" elapsed="0.329687"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:54.768886" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:54.768155" elapsed="0.000820"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:54.769635" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-29T23:15:55.106696" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:15:55.107025" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:15:55.107082" 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-08-29T23:15:55.107137" 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-08-29T23:15:54.769266" elapsed="0.337903"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.107811" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-29T23:15:55.177062" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:15:55.177225" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-29T23:15:55.177278" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:15:55.177326" 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-08-29T23:15:55.107489" elapsed="0.069865"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.177753" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-29T23:15:55.229492" 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-08-29T23:15:55.177608" elapsed="0.052082"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:55.247688" level="INFO">DELETE Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:55.247754" level="INFO">DELETE Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:55.247926" 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-08-29T23:15:55.230045" elapsed="0.017915"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:55.255771" level="INFO">DELETE Request : url=http://10.30.171.169: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=node01xtadgs0yn2711pl6dowpa8tlv2.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:55.256002" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:15:55.256143" 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-08-29T23:15:55.248200" elapsed="0.007975"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-29T23:15:54.437310" elapsed="0.818966"/>
</kw>
<doc>CallHome SSH device registered with global credentials should result to successful mount.</doc>
<status status="FAIL" start="2026-08-29T23:14:23.187204" elapsed="92.069151">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDWnV9akKQk8aVoPvaiNt279cK4Jn8Pown90kdIpdlR6TvuVTpnJLP+62Ad3fOIDPbPDCAC8pNGxAVNXUqgU97rfDwmvj/PlqruANEbyjAjGk4XZRwapoYP/MYozroVkU329FMMg2ZU9PIIjtkS79goSkAfmtm4isK23o81bgugl4zTIpya6HL+MOyxTsalXJXCIXQO777rGO840+ZCfP7Ol96kGSoDXBT0jpGWLgxegqQwxzSsT6AoYqv+5/X2YmNHkc5IoRc0QLIWe3tvg4x/MYSWAS6IQ+wZh+1EbAe7iFycaeTwmijXI2mE/U1D18nAetUFH0mXIqQyyYwfqmJp"}}]}}}' 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-08-29T23:15:55.258511" level="INFO">Creating Session using : alias=session, url=http://10.30.171.169:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7b4b71c92d90&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-08-29T23:15:55.258169" elapsed="0.000561"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.259063" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-29T23:15:55.276756" 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-08-29T23:15:55.258932" elapsed="0.017953"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.277268" 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-08-29T23:15:55.670460" 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-08-29T23:15:55.277114" elapsed="0.393614"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.671485" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-29T23:15:55.725520" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:15:55.725782" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQ...</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-08-29T23:15:55.671200" elapsed="0.054636"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:15:55.734394" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQ...</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-08-29T23:15:55.726259" elapsed="0.008245"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-29T23:15:55.257807" elapsed="0.476869"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.770493" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:15:55.735664" elapsed="0.034970"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.780518" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:15:55.770960" elapsed="0.009696"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-29T23:15:55.735085" elapsed="0.045692"/>
</kw>
<kw name="Register global credentials for SSH call-home devices" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-29T23:15:55.782119" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_global_credentials.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:15:55.782396" 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-08-29T23:15:55.781786" elapsed="0.000661"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:15:55.783286" 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-08-29T23:15:55.782788" elapsed="0.000550"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:15:55.784118" 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-08-29T23:15:55.783643" elapsed="0.000526"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:55.805483" level="INFO">PUT Request : url=http://10.30.171.169: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-08-29T23:15:55.805610" level="INFO">PUT Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/global/credentials 
 status=204, reason=No Content 
 headers={'Set-Cookie': 'JSESSIONID=node0i6m3y7qrngvcxns17pvjsv793.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 28-Aug-2026 23:15:55 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:55.805812" 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-08-29T23:15:55.784436" elapsed="0.021454"/>
</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-08-29T23:15:55.806295" elapsed="0.004393"/>
</kw>
<arg>root</arg>
<arg>incorrect</arg>
<doc>Set global credentials for SSH call-home devices</doc>
<status status="PASS" start="2026-08-29T23:15:55.781157" elapsed="0.029656"/>
</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-08-29T23:15:55.825830" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:15:55.826121" 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-08-29T23:15:55.825519" elapsed="0.000652"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:15:55.827160" 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-08-29T23:15:55.826466" elapsed="0.000777"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:55.825009" elapsed="0.002340"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:55.818215" elapsed="0.009180"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-29T23:15:55.827757" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:55.827447" elapsed="0.000433"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:55.818170" elapsed="0.009754"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:15:55.828665" 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-08-29T23:15:55.828180" elapsed="0.000538"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:15:55.829468" 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-08-29T23:15:55.829027" elapsed="0.000514"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:15:55.830285" 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-08-29T23:15:55.829819" elapsed="0.000515"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:15:55.831122" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5...</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-08-29T23:15:55.830656" elapsed="0.000517"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:55.845900" level="INFO">POST Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"
        }
    }
}
 
 </msg>
<msg time="2026-08-29T23:15:55.846007" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:55.846180" 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-08-29T23:15:55.831433" elapsed="0.014797"/>
</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-08-29T23:15:55.846570" elapsed="0.004433"/>
</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-08-29T23:15:55.811342" elapsed="0.039788"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:15:55.851780" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-29T23:15:56.168363" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:15:56.168681" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:15:56.168770" 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-08-29T23:15:56.168887" 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-08-29T23:15:55.851412" elapsed="0.317523"/>
</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-08-29T23:15:56.172254" 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-08-29T23:15:56.171473" elapsed="0.000841"/>
</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-08-29T23:15:56.173029" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:56.172471" elapsed="0.001076"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:56.172427" elapsed="0.001175"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:56.196997" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:56.197304" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:56.197496" 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-08-29T23:15:56.187273" elapsed="0.010296"/>
</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-08-29T23:15:56.198328" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:56.197723" elapsed="0.000715"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:56.203489" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:56.198758" elapsed="0.004863"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:56.198486" elapsed="0.005203"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:56.197685" elapsed="0.006048"/>
</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-08-29T23:15:56.204016" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:56.209697" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:56.205055" elapsed="0.004835">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:15:56.204775" elapsed="0.005275">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:56.204473" elapsed="0.005705">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:56.186406" elapsed="0.023982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:56.170647" elapsed="0.040038">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:58.213569" 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-08-29T23:15:58.212649" 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-08-29T23:15:58.214377" elapsed="0.000440"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:58.213822" elapsed="0.001099"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:58.213775" elapsed="0.001202"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:15:58.239291" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:15:58.239612" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:15:58.239810" 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-08-29T23:15:58.228963" elapsed="0.010926"/>
</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-08-29T23:15:58.240652" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:15:58.240046" elapsed="0.000716"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:15:58.245341" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:15:58.241089" elapsed="0.004351"/>
</kw>
<status status="PASS" start="2026-08-29T23:15:58.240810" elapsed="0.004717"/>
</branch>
<status status="PASS" start="2026-08-29T23:15:58.240008" elapsed="0.005563"/>
</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-08-29T23:15:58.245819" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:15:58.251305" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:58.246803" elapsed="0.004652">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:15:58.246564" elapsed="0.005058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:15:58.246290" elapsed="0.005454">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:58.228079" elapsed="0.023990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:58.211682" elapsed="0.040585">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:00.255153" 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-08-29T23:16:00.254260" elapsed="0.000960"/>
</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-08-29T23:16:00.255997" elapsed="0.000444"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:00.255401" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:00.255356" elapsed="0.001234"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:00.282429" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:00.282768" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:00.283022" 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-08-29T23:16:00.271259" elapsed="0.011817"/>
</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-08-29T23:16:00.283836" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:00.283229" elapsed="0.000750"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:00.288522" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:00.284274" elapsed="0.004349"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:00.284028" elapsed="0.004661"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:00.283191" elapsed="0.005543"/>
</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-08-29T23:16:00.289013" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:00.294547" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:00.290072" elapsed="0.004636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:00.289744" elapsed="0.005146">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:00.289482" elapsed="0.005629">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:00.270338" elapsed="0.024984">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:00.253321" elapsed="0.042221">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:02.298947" 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-08-29T23:16:02.297807" elapsed="0.001227"/>
</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-08-29T23:16:02.300038" elapsed="0.000548"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:02.299281" elapsed="0.001390"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:02.299221" elapsed="0.001509"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:02.326468" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:02.326805" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:02.327061" 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-08-29T23:16:02.315556" elapsed="0.011558"/>
</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-08-29T23:16:02.328076" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:02.327318" elapsed="0.000877"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:02.333104" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:02.328533" elapsed="0.004674"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:02.328249" elapsed="0.005025"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:02.327265" elapsed="0.006052"/>
</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-08-29T23:16:02.333594" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:02.339668" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:02.334664" elapsed="0.005165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:02.334369" elapsed="0.005743">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:02.334094" elapsed="0.006149">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:02.313984" elapsed="0.026492">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:02.296691" elapsed="0.043981">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:04.343759" 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-08-29T23:16:04.342807" 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="PASS" start="2026-08-29T23:16:04.344643" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:04.344063" elapsed="0.001108"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:04.344012" elapsed="0.001216"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:04.369454" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:04.369790" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:04.370033" 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-08-29T23:16:04.358952" elapsed="0.011133"/>
</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-08-29T23:16:04.370950" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:04.370256" elapsed="0.000812"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:04.375924" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:04.371460" elapsed="0.004566"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:04.371121" elapsed="0.004972"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:04.370213" elapsed="0.005922"/>
</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-08-29T23:16:04.376388" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:04.381996" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:04.377461" elapsed="0.004820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:04.377178" elapsed="0.005279">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:04.376902" elapsed="0.005684">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:04.358072" elapsed="0.024729">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:04.341754" elapsed="0.041276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:06.386000" 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-08-29T23:16:06.385069" elapsed="0.000999"/>
</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-08-29T23:16:06.386817" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:06.386253" elapsed="0.001088"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:06.386207" elapsed="0.001232"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:06.412659" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:06.413025" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:06.413259" 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-08-29T23:16:06.402032" elapsed="0.011279"/>
</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-08-29T23:16:06.414174" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:06.413501" elapsed="0.000789"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:06.419014" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:06.414623" elapsed="0.004493"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:06.414339" elapsed="0.004843"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:06.413458" elapsed="0.005768"/>
</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-08-29T23:16:06.419606" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:06.425180" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:06.420642" elapsed="0.004698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:06.420362" elapsed="0.005147">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:06.420098" elapsed="0.005535">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:06.401159" elapsed="0.024713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:06.384093" elapsed="0.041976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:08.429179" 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-08-29T23:16:08.428228" 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="PASS" start="2026-08-29T23:16:08.430042" elapsed="0.000454"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:08.429470" elapsed="0.001104"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:08.429418" elapsed="0.001214"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:08.456611" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:08.456966" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:08.457173" 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-08-29T23:16:08.445482" elapsed="0.011743"/>
</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-08-29T23:16:08.458049" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:08.457419" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:08.463001" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:08.458601" elapsed="0.004506"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:08.458305" elapsed="0.004872"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:08.457345" elapsed="0.005877"/>
</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-08-29T23:16:08.463505" elapsed="0.000381"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:08.469671" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:08.464574" elapsed="0.005308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:08.464278" elapsed="0.005784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:08.464010" elapsed="0.006197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:08.444604" elapsed="0.025848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:08.427193" elapsed="0.043460">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:10.474019" 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-08-29T23:16:10.473022" elapsed="0.001068"/>
</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-08-29T23:16:10.474880" elapsed="0.000428"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:10.474287" elapsed="0.001125"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:10.474236" elapsed="0.001235"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:10.500026" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:10.500368" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:10.500690" 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-08-29T23:16:10.489651" elapsed="0.011094"/>
</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-08-29T23:16:10.501782" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:10.500959" elapsed="0.001005"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:10.506734" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:10.502294" elapsed="0.004545"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:10.502028" elapsed="0.004916"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:10.500910" 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-08-29T23:16:10.507403" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:10.513394" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:10.508498" elapsed="0.005055">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:10.508227" elapsed="0.005473">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:10.507952" elapsed="0.005871">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:10.488738" elapsed="0.025323">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:10.471749" elapsed="0.042527">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:12.517509" 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-08-29T23:16:12.516525" elapsed="0.001057"/>
</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-08-29T23:16:12.518379" elapsed="0.000429"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:12.517781" elapsed="0.001138"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:12.517732" elapsed="0.001243"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:12.543959" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:12.544396" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:12.544621" 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-08-29T23:16:12.533209" elapsed="0.011464"/>
</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-08-29T23:16:12.545808" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:12.544832" elapsed="0.001126"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:12.550875" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:12.546273" elapsed="0.004718"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:12.546009" elapsed="0.005051"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:12.544794" elapsed="0.006310"/>
</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-08-29T23:16:12.551392" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:12.557075" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:12.552468" elapsed="0.004774">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:12.552181" elapsed="0.005236">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:12.551908" elapsed="0.005635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:12.532359" elapsed="0.025397">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:12.515392" elapsed="0.042589">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:14.561101" 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-08-29T23:16:14.560123" 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-08-29T23:16:14.561962" elapsed="0.000546"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:14.561392" elapsed="0.001195"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:14.561341" elapsed="0.001300"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:14.588009" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:14.588330" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:14.588523" 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-08-29T23:16:14.577308" elapsed="0.011265"/>
</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-08-29T23:16:14.589360" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:14.588728" elapsed="0.000743"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:14.594119" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:14.589766" elapsed="0.004456"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:14.589519" elapsed="0.004792"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:14.588691" elapsed="0.005667"/>
</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-08-29T23:16:14.594612" elapsed="0.000391"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:14.600982" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:14.595649" elapsed="0.005487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:14.595409" elapsed="0.005874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:14.595121" elapsed="0.006313">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:14.576408" elapsed="0.025229">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:14.559076" elapsed="0.042812">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:16.604993" 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-08-29T23:16:16.604023" elapsed="0.001044"/>
</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-08-29T23:16:16.605902" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:16.605262" elapsed="0.001197"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:16.605212" elapsed="0.001305"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:16.631179" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:16.631534" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:16.631735" 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-08-29T23:16:16.620925" elapsed="0.010865"/>
</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-08-29T23:16:16.632605" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:16.631984" elapsed="0.000735"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:16.637610" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:16.633050" elapsed="0.004661"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:16.632766" elapsed="0.005013"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:16.631944" elapsed="0.005877"/>
</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-08-29T23:16:16.638141" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:16.643690" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:16.639175" elapsed="0.004703">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:16.638927" elapsed="0.005101">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:16.638631" elapsed="0.005523">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:16.620039" elapsed="0.024344">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:16.603032" elapsed="0.041647">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:18.647779" 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-08-29T23:16:18.646830" 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-08-29T23:16:18.648653" elapsed="0.000457"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:18.648087" elapsed="0.001103"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:18.648036" elapsed="0.001210"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:18.674523" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:18.674839" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:18.675106" 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-08-29T23:16:18.664154" elapsed="0.011006"/>
</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-08-29T23:16:18.676035" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:18.675363" elapsed="0.000786"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:18.680765" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:18.676477" elapsed="0.004422"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:18.676199" elapsed="0.004773"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:18.675317" elapsed="0.005698"/>
</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-08-29T23:16:18.681291" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:18.686825" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:18.682328" elapsed="0.004692">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:18.682050" elapsed="0.005120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:18.681754" elapsed="0.005564">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:18.663192" elapsed="0.024444">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:18.645770" elapsed="0.042063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:20.691187" 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-08-29T23:16:20.690157" elapsed="0.001173"/>
</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-08-29T23:16:20.692209" elapsed="0.000467"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:20.691568" elapsed="0.001196"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:20.691505" elapsed="0.001368"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:20.717025" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:20.717381" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:20.717582" 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-08-29T23:16:20.707138" elapsed="0.010496"/>
</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-08-29T23:16:20.718438" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:20.717790" elapsed="0.000764"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:20.723607" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:20.718887" elapsed="0.004823"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:20.718602" elapsed="0.005178"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:20.717752" elapsed="0.006073"/>
</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-08-29T23:16:20.724113" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:20.729988" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:20.725142" elapsed="0.005001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:20.724895" elapsed="0.005428">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:20.724602" elapsed="0.005947">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:20.706254" elapsed="0.024509">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:20.689088" elapsed="0.041903">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:22.734150" 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-08-29T23:16:22.733158" elapsed="0.001085"/>
</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-08-29T23:16:22.735032" elapsed="0.000495"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:22.734450" elapsed="0.001157"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:22.734397" elapsed="0.001266"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:22.760661" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:22.761016" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:22.761253" 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-08-29T23:16:22.750300" elapsed="0.011007"/>
</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-08-29T23:16:22.762149" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:22.761482" elapsed="0.000801"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:22.767069" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:22.762588" elapsed="0.004586"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:22.762334" elapsed="0.004928"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:22.761438" elapsed="0.005868"/>
</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-08-29T23:16:22.767563" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:22.773186" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:22.768599" elapsed="0.004772">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:22.768343" elapsed="0.005276">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:22.768057" elapsed="0.005689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:22.749289" elapsed="0.024695">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:22.732090" elapsed="0.042116">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:24.777276" 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-08-29T23:16:24.776297" 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="PASS" start="2026-08-29T23:16:24.778110" elapsed="0.000484"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:24.777537" elapsed="0.001149"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:24.777489" elapsed="0.001252"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:24.806510" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:24.806829" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:24.807100" 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-08-29T23:16:24.796606" elapsed="0.010547"/>
</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-08-29T23:16:24.808034" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:24.807357" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:24.812837" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:24.808478" elapsed="0.004496"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:24.808201" elapsed="0.004842"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:24.807311" elapsed="0.005775"/>
</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-08-29T23:16:24.813369" elapsed="0.000346"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:24.819400" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:24.814403" elapsed="0.005264">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:24.814127" elapsed="0.005691">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:24.813829" elapsed="0.006152">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:24.795637" elapsed="0.024558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:24.775312" elapsed="0.045103">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:26.823529" 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-08-29T23:16:26.822495" elapsed="0.001105"/>
</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-08-29T23:16:26.824428" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:26.823795" elapsed="0.001174"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:26.823745" elapsed="0.001282"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:26.849733" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:26.850117" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:26.850350" 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-08-29T23:16:26.839775" elapsed="0.010630"/>
</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-08-29T23:16:26.851261" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:26.850562" elapsed="0.000817"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:26.856105" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:26.851681" elapsed="0.004556"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:26.851428" elapsed="0.004883"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:26.850523" elapsed="0.005835"/>
</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-08-29T23:16:26.856716" elapsed="0.000433"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:26.862776" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:26.857817" elapsed="0.005163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:26.857570" elapsed="0.005563">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:26.857291" elapsed="0.005995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:26.838923" elapsed="0.024570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:26.821513" elapsed="0.042169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:28.866889" 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-08-29T23:16:28.865878" 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-08-29T23:16:28.867880" elapsed="0.000563"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:28.867176" elapsed="0.001351"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:28.867121" elapsed="0.001463"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:28.893063" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:28.893393" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:28.893643" 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-08-29T23:16:28.882906" elapsed="0.010805"/>
</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-08-29T23:16:28.894616" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:28.893947" elapsed="0.000785"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:28.899625" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:28.895208" elapsed="0.004536"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:28.894910" elapsed="0.004903"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:28.893893" elapsed="0.006021"/>
</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-08-29T23:16:28.900218" elapsed="0.000351"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:28.905790" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:28.901239" elapsed="0.004737">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:28.900972" elapsed="0.005154">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:28.900682" elapsed="0.005621">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:28.881973" elapsed="0.024547">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:28.864749" elapsed="0.041964">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:30.909352" 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-08-29T23:16:30.908617" elapsed="0.000799"/>
</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-08-29T23:16:30.909998" elapsed="0.000346"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:30.909578" elapsed="0.000824"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:30.909535" elapsed="0.000911"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:30.930253" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:30.930523" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:30.930760" 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-08-29T23:16:30.920612" elapsed="0.010186"/>
</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-08-29T23:16:30.931387" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:30.930935" elapsed="0.000534"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:30.934669" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:30.931691" elapsed="0.003055"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:30.931506" elapsed="0.003290"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:30.930904" elapsed="0.003926"/>
</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-08-29T23:16:30.935036" elapsed="0.000258"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:30.938886" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:30.935743" elapsed="0.003272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:30.935573" elapsed="0.003555">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:30.935381" elapsed="0.003863">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:30.919997" elapsed="0.019413">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:30.907724" elapsed="0.031834">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:32.942427" 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-08-29T23:16:32.941540" 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-08-29T23:16:32.943287" elapsed="0.000424"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:32.942681" elapsed="0.001109"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:32.942635" elapsed="0.001206"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:32.968201" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:32.968595" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:32.968794" 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-08-29T23:16:32.957724" elapsed="0.011154"/>
</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-08-29T23:16:32.969657" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:32.969040" elapsed="0.000728"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:32.974484" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:32.970101" elapsed="0.004485"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:32.969817" elapsed="0.004837"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:32.969001" elapsed="0.005696"/>
</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-08-29T23:16:32.974981" elapsed="0.000367"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:32.980897" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:32.975996" elapsed="0.005060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:32.975722" elapsed="0.005501">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:32.975463" elapsed="0.005888">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:32.956884" elapsed="0.024671">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:32.940601" elapsed="0.041142">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:34.984744" 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-08-29T23:16:34.983797" 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-08-29T23:16:34.985596" elapsed="0.000608"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:34.985038" elapsed="0.001247"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:34.984988" elapsed="0.001354"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:35.010256" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:35.010579" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:35.010798" 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-08-29T23:16:35.000375" elapsed="0.010509"/>
</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-08-29T23:16:35.011762" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:35.011073" elapsed="0.000838"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:35.016804" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:35.012257" elapsed="0.004686"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:35.011963" elapsed="0.005052"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:35.011027" elapsed="0.006031"/>
</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-08-29T23:16:35.017345" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:35.023185" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:35.018434" elapsed="0.004914">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:35.018165" elapsed="0.005333">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:35.017841" elapsed="0.005783">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:34.999448" elapsed="0.024389">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:34.982776" elapsed="0.041289">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:37.027102" 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-08-29T23:16:37.026230" elapsed="0.000966"/>
</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-08-29T23:16:37.028000" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:37.027387" elapsed="0.001164"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:37.027334" elapsed="0.001269"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:37.052445" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:37.052747" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:37.052998" 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-08-29T23:16:37.042935" elapsed="0.010117"/>
</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-08-29T23:16:37.053799" elapsed="0.000084"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:37.053229" elapsed="0.000719"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:37.058509" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:37.054275" elapsed="0.004335"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:37.053997" elapsed="0.004679"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:37.053190" elapsed="0.005529"/>
</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-08-29T23:16:37.059004" elapsed="0.000361"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:37.064546" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:37.060003" elapsed="0.004698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:37.059733" elapsed="0.005141">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:37.059475" elapsed="0.005529">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:37.042056" elapsed="0.023174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:37.025261" elapsed="0.040265">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:39.068453" 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-08-29T23:16:39.067536" 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="PASS" start="2026-08-29T23:16:39.069359" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:39.068702" elapsed="0.001211"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:39.068655" elapsed="0.001314"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:39.093984" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:39.094337" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:39.094544" 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-08-29T23:16:39.083791" elapsed="0.010805"/>
</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-08-29T23:16:39.095453" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:39.094759" elapsed="0.000809"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:39.100295" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:39.095907" elapsed="0.004493"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:39.095618" elapsed="0.004851"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:39.094719" elapsed="0.005794"/>
</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-08-29T23:16:39.100767" elapsed="0.000397"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:39.106902" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:39.101841" elapsed="0.005225">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:39.101589" elapsed="0.005655">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:39.101282" elapsed="0.006094">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:39.082913" elapsed="0.024766">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:39.066557" elapsed="0.041353">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:41.111093" 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-08-29T23:16:41.110064" 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-08-29T23:16:41.111967" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:41.111391" elapsed="0.001103"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:41.111342" elapsed="0.001207"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:41.136663" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:41.137018" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:41.137244" 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-08-29T23:16:41.126363" elapsed="0.010934"/>
</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-08-29T23:16:41.138064" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:41.137453" elapsed="0.000753"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:41.142756" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:41.138509" elapsed="0.004380"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:41.138257" elapsed="0.004701"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:41.137414" elapsed="0.005588"/>
</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-08-29T23:16:41.143279" elapsed="0.000362"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:41.148894" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:41.144362" elapsed="0.004693">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:41.144092" elapsed="0.005132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:41.143787" elapsed="0.005667">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:41.125495" elapsed="0.024172">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:41.109008" elapsed="0.040877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:43.153009" 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-08-29T23:16:43.152045" elapsed="0.001036"/>
</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-08-29T23:16:43.153892" elapsed="0.000446"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:43.153304" elapsed="0.001113"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:43.153254" elapsed="0.001216"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:43.179420" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:43.179752" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:43.180040" 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-08-29T23:16:43.168913" elapsed="0.011182"/>
</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-08-29T23:16:43.180940" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:43.180281" elapsed="0.000773"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:43.185784" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:43.181383" elapsed="0.004540"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:43.181104" elapsed="0.004890"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:43.180241" 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-08-29T23:16:43.186317" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:43.191828" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:43.187330" elapsed="0.004698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:43.187065" elapsed="0.005230">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:43.186771" elapsed="0.005657">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:43.168039" elapsed="0.024593">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:43.150942" elapsed="0.041880">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:45.194755" 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-08-29T23:16:45.194282" elapsed="0.000512"/>
</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-08-29T23:16:45.195221" elapsed="0.000207"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:45.194923" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:45.194893" elapsed="0.000598"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:45.209805" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:45.210012" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:45.210131" 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-08-29T23:16:45.201791" elapsed="0.008364"/>
</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-08-29T23:16:45.210572" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:45.210243" elapsed="0.000379"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:45.212815" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:45.210764" elapsed="0.002118"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:45.210646" elapsed="0.002267"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:45.210220" elapsed="0.002713"/>
</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-08-29T23:16:45.213049" elapsed="0.000178"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:45.215788" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:45.213537" elapsed="0.002419">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:45.213415" elapsed="0.002614">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:45.213287" elapsed="0.002799">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:45.201405" elapsed="0.014794">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:45.193623" elapsed="0.022662">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:47.219202" 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-08-29T23:16:47.218275" 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-08-29T23:16:47.220043" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:47.219464" elapsed="0.001113"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:47.219416" elapsed="0.001217"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:47.245576" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:47.245919" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:47.246144" 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-08-29T23:16:47.234571" elapsed="0.011628"/>
</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-08-29T23:16:47.246970" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:47.246356" elapsed="0.000726"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:47.251641" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:47.247409" elapsed="0.004334"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:47.247155" elapsed="0.004657"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:47.246317" elapsed="0.005570"/>
</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-08-29T23:16:47.252266" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:47.257948" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:47.253378" elapsed="0.004726">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:47.253030" elapsed="0.005244">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:47.252733" elapsed="0.005666">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:47.233670" elapsed="0.024936">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:47.217303" elapsed="0.041493">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:49.261920" 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-08-29T23:16:49.260999" elapsed="0.000995"/>
</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-08-29T23:16:49.262744" elapsed="0.000473"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:49.262204" elapsed="0.001099"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:49.262156" elapsed="0.001211"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:49.287828" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:49.288232" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:49.288461" 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-08-29T23:16:49.278032" elapsed="0.010483"/>
</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-08-29T23:16:49.289372" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:49.288671" elapsed="0.000815"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:49.294350" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:49.289918" elapsed="0.004534"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:49.289630" elapsed="0.004890"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:49.288632" elapsed="0.005931"/>
</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-08-29T23:16:49.294815" elapsed="0.000405"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:49.300929" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:49.295877" elapsed="0.005222">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:49.295599" elapsed="0.005679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:49.295337" elapsed="0.006063">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:49.277064" elapsed="0.024542">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:49.259925" elapsed="0.041867">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:51.304996" 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-08-29T23:16:51.303893" elapsed="0.001178"/>
</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-08-29T23:16:51.305876" elapsed="0.000452"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:51.305299" elapsed="0.001108"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:51.305245" elapsed="0.001217"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:51.331614" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:51.331964" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:51.332293" 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-08-29T23:16:51.320413" elapsed="0.011935"/>
</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-08-29T23:16:51.333155" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:51.332509" elapsed="0.000762"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:51.337950" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:51.333572" elapsed="0.004482"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:51.333321" elapsed="0.004823"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:51.332469" elapsed="0.005720"/>
</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-08-29T23:16:51.338446" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:51.344755" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:51.339638" elapsed="0.005311">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:51.339213" elapsed="0.005886">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:51.338932" elapsed="0.006319">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:51.319546" elapsed="0.025914">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:51.302813" elapsed="0.042842">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:53.348595" 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-08-29T23:16:53.347682" 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-08-29T23:16:53.349448" elapsed="0.000452"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:53.348879" elapsed="0.001102"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:53.348804" elapsed="0.001231"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:53.374539" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:53.374999" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:53.375252" 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-08-29T23:16:53.365069" elapsed="0.010239"/>
</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-08-29T23:16:53.376286" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:53.375514" elapsed="0.000905"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:53.381361" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:53.376768" elapsed="0.004699"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:53.376472" elapsed="0.005066"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:53.375462" elapsed="0.006120"/>
</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-08-29T23:16:53.381875" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:53.387698" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:53.382931" elapsed="0.004968">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:53.382633" elapsed="0.005446">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:53.382367" elapsed="0.005874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:53.363931" elapsed="0.024550">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:53.346717" elapsed="0.041976">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:55.391830" 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-08-29T23:16:55.390882" 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="PASS" start="2026-08-29T23:16:55.392725" elapsed="0.000917"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:55.392176" elapsed="0.001557"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:55.392096" elapsed="0.001694"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:55.419314" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:55.419633" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:55.419913" 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-08-29T23:16:55.409265" elapsed="0.010703"/>
</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-08-29T23:16:55.420925" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:55.420198" elapsed="0.000845"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:55.425914" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:55.421382" elapsed="0.004636"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:55.421096" elapsed="0.004990"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:55.420144" elapsed="0.006006"/>
</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-08-29T23:16:55.426404" elapsed="0.000333"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:55.431941" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:55.427422" elapsed="0.004680">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:55.427161" elapsed="0.005110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:55.426879" elapsed="0.005512">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:55.407605" elapsed="0.024995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:55.389795" elapsed="0.042995">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:57.435814" 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-08-29T23:16:57.434951" elapsed="0.000960"/>
</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-08-29T23:16:57.436648" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:57.436097" elapsed="0.001092"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:57.436049" elapsed="0.001194"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:57.461318" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:57.461608" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:57.461802" 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-08-29T23:16:57.451176" elapsed="0.010707"/>
</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-08-29T23:16:57.462642" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:57.462042" elapsed="0.000711"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:57.467331" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:57.463077" elapsed="0.004354"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:57.462802" elapsed="0.004698"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:57.462003" elapsed="0.005540"/>
</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-08-29T23:16:57.467791" elapsed="0.000385"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:57.473993" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:57.468778" elapsed="0.005430">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:57.468541" elapsed="0.005815">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:57.468287" elapsed="0.006192">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:57.450313" elapsed="0.024369">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:57.434013" elapsed="0.040982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:59.478200" 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-08-29T23:16:59.477203" elapsed="0.001073"/>
</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-08-29T23:16:59.479091" elapsed="0.000463"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:59.478483" elapsed="0.001155"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:59.478429" elapsed="0.001268"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:16:59.505059" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:16:59.505404" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:16:59.505621" 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-08-29T23:16:59.494143" elapsed="0.011534"/>
</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-08-29T23:16:59.506587" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:16:59.505892" elapsed="0.000815"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:16:59.511772" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:16:59.507060" elapsed="0.004853"/>
</kw>
<status status="PASS" start="2026-08-29T23:16:59.506761" elapsed="0.005230"/>
</branch>
<status status="PASS" start="2026-08-29T23:16:59.505813" elapsed="0.006225"/>
</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-08-29T23:16:59.512334" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:16:59.518004" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:59.513381" elapsed="0.004806">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:16:59.513103" elapsed="0.005237">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:16:59.512802" elapsed="0.005662">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:59.493189" elapsed="0.025582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:16:59.476140" elapsed="0.042870">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:01.521772" 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-08-29T23:17:01.521001" elapsed="0.000831"/>
</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-08-29T23:17:01.522513" elapsed="0.000365"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:01.522030" elapsed="0.000908"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:01.521981" elapsed="0.001005"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:01.545827" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:01.546105" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:01.546287" 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-08-29T23:17:01.536642" elapsed="0.009687"/>
</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-08-29T23:17:01.546931" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:01.546451" elapsed="0.000565"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:01.550533" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:01.547264" elapsed="0.003324"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:01.547054" elapsed="0.003570"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:01.546421" elapsed="0.004227"/>
</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-08-29T23:17:01.550791" elapsed="0.000206"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:01.553854" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:01.551353" elapsed="0.002596">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:01.551217" elapsed="0.002811">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:01.551060" elapsed="0.003132">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:01.536001" elapsed="0.018310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:01.520082" elapsed="0.034337">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:03.557315" 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-08-29T23:17:03.556406" 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-08-29T23:17:03.558169" elapsed="0.000417"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:03.557571" elapsed="0.001094"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:03.557525" elapsed="0.001194"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:03.583085" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:03.583418" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:03.583613" 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-08-29T23:17:03.572572" elapsed="0.011092"/>
</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-08-29T23:17:03.584452" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:03.583817" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:03.589156" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:03.584891" elapsed="0.004370"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:03.584612" elapsed="0.004716"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:03.583779" elapsed="0.005593"/>
</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-08-29T23:17:03.589623" elapsed="0.000369"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:03.595591" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:03.590637" elapsed="0.005112">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:03.590394" elapsed="0.005635">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:03.590129" elapsed="0.006058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:03.571711" elapsed="0.024688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:03.555415" elapsed="0.041174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:05.599505" 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-08-29T23:17:05.598591" 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="PASS" start="2026-08-29T23:17:05.600360" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:05.599758" elapsed="0.001131"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:05.599712" elapsed="0.001232"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:05.625659" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:05.626003" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:05.626229" 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-08-29T23:17:05.614880" elapsed="0.011403"/>
</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-08-29T23:17:05.627058" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:05.626443" elapsed="0.000750"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:05.631760" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:05.627495" elapsed="0.004398"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:05.627244" elapsed="0.004720"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:05.626404" elapsed="0.005603"/>
</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-08-29T23:17:05.632281" elapsed="0.000336"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:05.637763" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:05.633286" elapsed="0.004768">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:05.633020" elapsed="0.005208">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:05.632728" elapsed="0.005627">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:05.614022" elapsed="0.024541">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:05.597602" elapsed="0.041156">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:07.641948" 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-08-29T23:17:07.640966" elapsed="0.001057"/>
</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-08-29T23:17:07.642831" elapsed="0.000501"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:07.642249" elapsed="0.001163"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:07.642195" elapsed="0.001282"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:07.668667" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:07.669045" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:07.669326" 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-08-29T23:17:07.658199" elapsed="0.011189"/>
</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-08-29T23:17:07.670307" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:07.669587" elapsed="0.000841"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:07.675266" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:07.670776" elapsed="0.004598"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:07.670501" elapsed="0.004943"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:07.669542" elapsed="0.005946"/>
</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-08-29T23:17:07.676008" elapsed="0.000393"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:07.681734" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:07.677108" elapsed="0.004844">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:07.676814" elapsed="0.005297">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:07.676521" elapsed="0.005753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:07.657281" elapsed="0.025209">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:07.639905" elapsed="0.042789">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:09.685667" 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-08-29T23:17:09.684732" elapsed="0.001006"/>
</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-08-29T23:17:09.686546" elapsed="0.000460"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:09.685962" elapsed="0.001122"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:09.685911" elapsed="0.001255"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:09.710793" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:09.711176" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:09.711375" 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-08-29T23:17:09.701278" elapsed="0.010149"/>
</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-08-29T23:17:09.712261" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:09.711583" elapsed="0.000790"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:09.717225" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:09.712775" elapsed="0.004554"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:09.712514" elapsed="0.004883"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:09.711545" elapsed="0.005895"/>
</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-08-29T23:17:09.717720" elapsed="0.000387"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:09.724072" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:09.718782" elapsed="0.005480">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:09.718535" elapsed="0.005878">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:09.718260" elapsed="0.006280">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:09.700386" elapsed="0.024356">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:09.683728" elapsed="0.041232">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:11.728120" 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-08-29T23:17:11.727182" 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-08-29T23:17:11.728999" elapsed="0.000455"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:11.728416" elapsed="0.001117"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:11.728365" elapsed="0.001227"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:11.753973" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:11.754327" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:11.754628" 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-08-29T23:17:11.743699" elapsed="0.010982"/>
</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-08-29T23:17:11.755478" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:11.754840" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:11.760252" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:11.755918" elapsed="0.004435"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:11.755638" elapsed="0.004784"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:11.754802" elapsed="0.005662"/>
</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-08-29T23:17:11.760713" elapsed="0.000378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:11.766324" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:11.761733" elapsed="0.004753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:11.761493" elapsed="0.005140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:11.761228" elapsed="0.005530">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:11.742825" elapsed="0.024176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:11.726106" elapsed="0.041113">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:13.770292" 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-08-29T23:17:13.769345" elapsed="0.001024"/>
</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-08-29T23:17:13.771174" elapsed="0.000436"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:13.770567" elapsed="0.001119"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:13.770515" elapsed="0.001228"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:13.796127" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:13.796537" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:13.796757" 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-08-29T23:17:13.786094" elapsed="0.010715"/>
</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-08-29T23:17:13.797622" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:13.797007" elapsed="0.000727"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:13.802339" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:13.798070" elapsed="0.004372"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:13.797782" elapsed="0.004729"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:13.796968" elapsed="0.005586"/>
</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-08-29T23:17:13.802808" elapsed="0.000395"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:13.808376" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:13.803820" elapsed="0.004707">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:13.803577" elapsed="0.005096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:13.803318" elapsed="0.005482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:13.785236" elapsed="0.023833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:13.768326" elapsed="0.040961">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:15.812304" 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-08-29T23:17:15.811386" elapsed="0.000988"/>
</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-08-29T23:17:15.813128" elapsed="0.000550"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:15.812556" elapsed="0.001203"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:15.812509" elapsed="0.001302"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:15.837551" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:15.837885" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:15.838111" 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-08-29T23:17:15.827774" elapsed="0.010419"/>
</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-08-29T23:17:15.838967" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:15.838354" elapsed="0.000725"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:15.843682" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:15.839415" elapsed="0.004369"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:15.839128" elapsed="0.004756"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:15.838315" elapsed="0.005616"/>
</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-08-29T23:17:15.844207" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:15.850196" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:15.845215" elapsed="0.005136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:15.844950" elapsed="0.005548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:15.844660" elapsed="0.005963">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:15.826913" elapsed="0.023912">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:15.810387" elapsed="0.040662">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:17.854100" 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-08-29T23:17:17.853175" 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-08-29T23:17:17.854980" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:17.854400" elapsed="0.001115"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:17.854351" elapsed="0.001220"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:17.881675" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:17.882045" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:17.882298" 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-08-29T23:17:17.869766" elapsed="0.012588"/>
</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-08-29T23:17:17.883205" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:17.882524" elapsed="0.000799"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:17.887973" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:17.883624" elapsed="0.004452"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:17.883372" elapsed="0.004772"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:17.882482" elapsed="0.005727"/>
</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-08-29T23:17:17.888464" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:17.894082" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:17.889508" elapsed="0.004761">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:17.889256" elapsed="0.005163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:17.888960" elapsed="0.005585">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:17.868894" elapsed="0.025862">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:17.852186" elapsed="0.042899">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:19.898046" 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-08-29T23:17:19.897108" elapsed="0.001012"/>
</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-08-29T23:17:19.898920" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:19.898344" elapsed="0.001111"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:19.898291" elapsed="0.001222"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:19.924455" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:19.924760" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:19.925015" 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-08-29T23:17:19.913944" elapsed="0.011124"/>
</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-08-29T23:17:19.925829" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:19.925251" elapsed="0.000723"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:19.930557" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:19.926298" elapsed="0.004360"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:19.926023" elapsed="0.004703"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:19.925211" elapsed="0.005558"/>
</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-08-29T23:17:19.931053" elapsed="0.000370"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:19.936626" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:19.932078" elapsed="0.004704">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:19.931802" elapsed="0.005168">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:19.931540" elapsed="0.005555">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:19.913073" elapsed="0.024354">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:19.896141" elapsed="0.041482">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:21.940753" 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-08-29T23:17:21.939799" 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="PASS" start="2026-08-29T23:17:21.941624" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:21.941054" elapsed="0.001106"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:21.941003" elapsed="0.001236"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:21.966821" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:21.967195" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:21.967397" 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-08-29T23:17:21.956005" elapsed="0.011444"/>
</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-08-29T23:17:21.968253" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:21.967607" elapsed="0.000761"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:21.972968" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:21.968668" elapsed="0.004401"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:21.968418" elapsed="0.004719"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:21.967569" elapsed="0.005632"/>
</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-08-29T23:17:21.973460" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:21.979464" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:21.974499" elapsed="0.005120">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:21.974251" elapsed="0.005513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:21.973955" elapsed="0.006064">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:21.955138" elapsed="0.025117">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:21.938740" elapsed="0.041709">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:23.983240" 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-08-29T23:17:23.982340" 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="PASS" start="2026-08-29T23:17:23.984069" elapsed="0.000456"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:23.983498" elapsed="0.001105"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:23.983450" elapsed="0.001207"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:24.009122" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:24.009451" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:24.009650" 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-08-29T23:17:23.998536" elapsed="0.011167"/>
</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-08-29T23:17:24.010515" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:24.009891" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:24.015270" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:24.010967" elapsed="0.004407"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:24.010679" elapsed="0.004763"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:24.009819" elapsed="0.005668"/>
</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-08-29T23:17:24.015740" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:24.021371" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:24.016747" elapsed="0.004776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:24.016508" elapsed="0.005257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:24.016249" elapsed="0.005679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:23.997660" elapsed="0.024474">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:23.981407" elapsed="0.040954">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:26.025553" 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-08-29T23:17:26.024554" 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-08-29T23:17:26.026429" elapsed="0.000445"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:26.025828" elapsed="0.001126"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:26.025777" elapsed="0.001233"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:26.054548" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:26.054886" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:26.055114" 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-08-29T23:17:26.042486" elapsed="0.012683"/>
</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-08-29T23:17:26.056007" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:26.055363" elapsed="0.000761"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:26.060748" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:26.056459" elapsed="0.004429"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:26.056177" elapsed="0.004784"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:26.055321" elapsed="0.005686"/>
</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-08-29T23:17:26.061296" elapsed="0.000387"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:26.068135" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:26.062371" elapsed="0.006048">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:26.062097" elapsed="0.006476">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:26.061797" elapsed="0.006905">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:26.041514" elapsed="0.027435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:26.023473" elapsed="0.045675">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:28.072033" 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-08-29T23:17:28.071125" 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-08-29T23:17:28.072831" elapsed="0.000507"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:28.072305" elapsed="0.001112"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:28.072258" elapsed="0.001214"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:28.097722" level="INFO">GET Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:28.098083" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:28.098315" 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-08-29T23:17:28.087106" elapsed="0.011265"/>
</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-08-29T23:17:28.099182" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:28.098537" elapsed="0.000795"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:28.104413" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:28.099656" elapsed="0.004867"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:28.099384" elapsed="0.005212"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:28.098496" elapsed="0.006146"/>
</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-08-29T23:17:28.105052" elapsed="0.000398"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:28.111259" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:28.106143" elapsed="0.005268">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<var name="${i}">"device-status":"FAILED_AUTH_FAILURE"</var>
<status status="FAIL" start="2026-08-29T23:17:28.105879" elapsed="0.005678">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-29T23:17:28.105572" elapsed="0.006111">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:28.086264" elapsed="0.025651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:28.070145" elapsed="0.041966">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' does not contain '"device-status":"FAILED_AUTH_FAILURE"'</status>
</kw>
<msg time="2026-08-29T23:17:28.112309" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:15:56.169345" elapsed="91.943175">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:28.112903" elapsed="0.000045"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:28.114578" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-29T23:17:28.433177" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:17:28.433545" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:17:28.433635" 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-08-29T23:17:28.433718" 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-08-29T23:17:28.114235" elapsed="0.319530"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:28.434915" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:28.434263" elapsed="0.000834"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:28.435839" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-29T23:17:28.792182" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:17:28.792550" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:17:28.792639" 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-08-29T23:17:28.792722" 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-08-29T23:17:28.435426" elapsed="0.357344"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:28.793683" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-29T23:17:28.859901" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:17:28.860144" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-29T23:17:28.860260" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:17:28.860343" 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-08-29T23:17:28.793260" elapsed="0.067128"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:28.860944" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-29T23:17:28.915611" 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-08-29T23:17:28.860711" elapsed="0.055052"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:28.930889" level="INFO">DELETE Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:28.930986" level="INFO">DELETE Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:28.931167" 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-08-29T23:17:28.916133" elapsed="0.015107"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:28.939953" level="INFO">DELETE Request : url=http://10.30.171.169: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=node0i6m3y7qrngvcxns17pvjsv793.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:28.940268" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:17:28.940471" 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-08-29T23:17:28.931524" elapsed="0.008999"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-29T23:17:28.113569" elapsed="0.827095"/>
</kw>
<doc>CallHome SSH device registered with wrong global credentials should fail to mount.</doc>
<status status="FAIL" start="2026-08-29T23:15:55.256815" elapsed="93.683964">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDchwd3pub1K5sJ+dd25vCIKnua4jTAyyzGZRUETXgcWQj8Fj6uRg33oXbn1sB5DvFWV75h0aQ6cj4qSeRHSFxds0WXNBHrq/2cmI3AlzdsCFaQE4viOP5qJbAyQRgHZp/f0lRupK6cQQLS12npCob9/AjaaTQvTivMuxUV3PkQyhQxKzY7eIOZgUUnUOVT7dRqqmTwwMyCLK3oT/VuCadqfHeSSpNAS2f/sxQMptFysg3w40gggp26Y0T4zrdMge1mdjKGbakX5HPN2uSSLivhkItMXcWF7DDzVuzEOH87/xKX8V1H71WwYM/D7Ud2C25L4n+Ez8JDuLNiiFA00dkb"}}]}}}' 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-08-29T23:17:28.944890" level="INFO">Creating Session using : alias=session, url=http://10.30.171.169:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7b4b72e68b50&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-08-29T23:17:28.944323" elapsed="0.000879"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:28.946059" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-29T23:17:28.967207" 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-08-29T23:17:28.945541" elapsed="0.021799"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:28.967807" 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-08-29T23:17:29.215519" 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-08-29T23:17:28.967619" elapsed="0.248052"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:29.216337" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-29T23:17:29.263552" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:17:29.263770" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC8V2MK4b1YVBfTXGb28w0aveQfGokXBVzaVaRZDhcDrcER8OTqYaoB/N/BgwYBV0RyiekGDixnq7JMgdYUwLNF262ukt07a1sUSut5+o82hywl99q8YFMmiTnrYQeMl24x+krxvJVlShQflXhrVgiBwOo8NADnKIaUtl2z4ERm...</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-08-29T23:17:29.216069" elapsed="0.047888"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:17:29.272023" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC8V2MK4b1YVBfTXGb28w0aveQfGokXBVzaVaRZDhcDrcER8OTqYaoB/N/BgwYBV0RyiekGDixnq7JMgdYUwLNF262ukt07a1sUSut5+o82hywl99q8YFMmiTnrYQeMl24x+krxvJVlShQflXhrVgiBwOo8NADnKIaUtl2z4ERm...</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-08-29T23:17:29.264356" elapsed="0.007763"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-29T23:17:28.943373" elapsed="0.328906"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:17:29.311015" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:17:29.273228" elapsed="0.037922"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:17:29.320005" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:17:29.311490" elapsed="0.008632"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-29T23:17:29.272631" elapsed="0.047646"/>
</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-08-29T23:17:29.328933" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:29.321568" elapsed="0.007475"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-29T23:17:29.330284" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:17:29.330565" 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-08-29T23:17:29.329954" elapsed="0.000665"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:17:29.331658" 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-08-29T23:17:29.330960" elapsed="0.000782"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:29.329408" elapsed="0.002470"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:29.329097" elapsed="0.002831"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:29.321521" elapsed="0.010452"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.332744" 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-08-29T23:17:29.332260" elapsed="0.000537"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.333593" 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-08-29T23:17:29.333112" elapsed="0.000534"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.334425" 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-08-29T23:17:29.333958" elapsed="0.000520"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.335253" 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-08-29T23:17:29.334757" elapsed="0.000553"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:29.361064" level="INFO">POST Request : url=http://10.30.171.169: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H"
        }
    }
}
 
 </msg>
<msg time="2026-08-29T23:17:29.361280" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0fo7f690tprh413dlwetu4wmb4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 28-Aug-2026 23:17:29 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=incorrect_hostname', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:29.361485" 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-08-29T23:17:29.335575" elapsed="0.025961"/>
</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-08-29T23:17:29.361874" elapsed="0.004404"/>
</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-08-29T23:17:29.320797" elapsed="0.045607"/>
</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-08-29T23:17:29.381579" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_device_hostkey_only.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:17:29.381840" 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-08-29T23:17:29.381286" elapsed="0.000680"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:17:29.382956" 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-08-29T23:17:29.382294" elapsed="0.000747"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:29.380695" elapsed="0.002453"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:29.373883" elapsed="0.009312"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<status status="NOT RUN" start="2026-08-29T23:17:29.383554" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:29.383266" elapsed="0.000384"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:29.373817" elapsed="0.009874"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.384463" 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-08-29T23:17:29.383974" elapsed="0.000542"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.385302" 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-08-29T23:17:29.384799" elapsed="0.000555"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.386096" 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-08-29T23:17:29.385632" elapsed="0.000514"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:29.386906" level="INFO">${body} = {
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQC8V2MK4b1YVBfTXGb28w0aveQfGokXBVzaVaRZDhcDrcER8OTqYaoB/N/BgwYB...</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-08-29T23:17:29.386444" elapsed="0.000515"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:29.401405" level="INFO">POST Request : url=http://10.30.171.169: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=node0fo7f690tprh413dlwetu4wmb4.node0', 'Content-Length': '500', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body={
    "device": {
        "unique-id": "netopeer2",
        "ssh-client-params": {
            "host-key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQC8V2MK4b1YVBfTXGb28w0aveQfGokXBVzaVaRZDhcDrcER8OTqYaoB/N/BgwYBV0RyiekGDixnq7JMgdYUwLNF262ukt07a1sUSut5+o82hywl99q8YFMmiTnrYQeMl24x+krxvJVlShQflXhrVgiBwOo8NADnKIaUtl2z4ERmTK5OFKbpInKwHavXFo6Qwxv0LxI2Oe0LlwCTmzGOxCtguEQfhzCtBwwCfgzGtT7ePRUlwiKqgmHOCC8EN8mFEiKFhtE4WAy8DYSBJOyXbeZNZrc6lzTAsG0TilBEvh3HpOuzH8ruCACpqHIgMwo69QcPOdqo8ctJ83lZU0zngSzD"
        }
    }
}
 
 </msg>
<msg time="2026-08-29T23:17:29.401509" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:29.401678" 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-08-29T23:17:29.387244" elapsed="0.014483"/>
</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-08-29T23:17:29.402073" elapsed="0.004363"/>
</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-08-29T23:17:29.366915" elapsed="0.039645"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:29.407310" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-29T23:17:29.723685" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:17:29.724041" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:17:29.724131" 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-08-29T23:17:29.724235" 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-08-29T23:17:29.406838" elapsed="0.317450"/>
</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-08-29T23:17:29.727547" 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-08-29T23:17:29.726768" elapsed="0.000834"/>
</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-08-29T23:17:29.728330" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:29.727758" elapsed="0.000690"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:29.727715" elapsed="0.000782"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:29.754026" level="INFO">GET Request : url=http://10.30.171.169: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=node0fo7f690tprh413dlwetu4wmb4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:29.754379" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC8V2MK4b1YVBfTXGb28w0aveQfGokXBVzaVaRZDhcDrcER8OTqYaoB/N/BgwYBV0RyiekGDixnq7JMgdYUwLNF262ukt07a1sUSut5+o82hywl99q8YFMmiTnrYQeMl24x+krxvJVlShQflXhrVgiBwOo8NADnKIaUtl2z4ERmTK5OFKbpInKwHavXFo6Qwxv0LxI2Oe0LlwCTmzGOxCtguEQfhzCtBwwCfgzGtT7ePRUlwiKqgmHOCC8EN8mFEiKFhtE4WAy8DYSBJOyXbeZNZrc6lzTAsG0TilBEvh3HpOuzH8ruCACpqHIgMwo69QcPOdqo8ctJ83lZU0zngSzD"}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:29.754606" 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-08-29T23:17:29.742702" elapsed="0.011955"/>
</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-08-29T23:17:29.755452" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:29.754812" elapsed="0.000750"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:29.760287" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"incorrect_hostname","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}},{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQC8V2MK4b1YVBfTXGb28w0aveQfGokXBVzaVaRZDhcDrcER8OTqYaoB/N/BgwYBV0RyiekGDixnq7JMgdYUwLNF262ukt07a1sUSut5+o82hywl99q8YFMmiTnrYQeMl24x+krxvJVlShQflXhrVgiBwOo8NADnKIaUtl2z4ERmTK5OFKbpInKwHavXFo6Qwxv0LxI2Oe0LlwCTmzGOxCtguEQfhzCtBwwCfgzGtT7ePRUlwiKqgmHOCC8EN8mFEiKFhtE4WAy8DYSBJOyXbeZNZrc6lzTAsG0TilBEvh3HpOuzH8ruCACpqHIgMwo69QcPOdqo8ctJ83lZU0zngSzD"}}]}}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:29.755922" elapsed="0.004477"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:29.755611" elapsed="0.004856"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:29.754775" elapsed="0.005735"/>
</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-08-29T23:17:29.760766" 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-08-29T23:17:29.761792" elapsed="0.004469"/>
</kw>
<var name="${i}">"unique-id":"netopeer2"</var>
<status status="PASS" start="2026-08-29T23:17:29.761547" elapsed="0.004797"/>
</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-08-29T23:17:29.766830" elapsed="0.004445"/>
</kw>
<var name="${i}">"device-status":"DISCONNECTED"</var>
<status status="PASS" start="2026-08-29T23:17:29.766571" elapsed="0.004784"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-29T23:17:29.761280" elapsed="0.010136"/>
</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-08-29T23:17:29.741833" elapsed="0.029690"/>
</kw>
<arg>DISCONNECTED</arg>
<doc>Checks the operational device status.</doc>
<status status="PASS" start="2026-08-29T23:17:29.726049" elapsed="0.045577"/>
</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-08-29T23:17:29.724740" elapsed="0.046972"/>
</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-08-29T23:17:29.814676" level="INFO">GET Request : url=http://10.30.171.169: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=node0fo7f690tprh413dlwetu4wmb4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:29.814973" level="INFO">GET Response : url=http://10.30.171.169: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-08-29T23:17:29.815178" 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-08-29T23:17:29.785837" elapsed="0.029413"/>
</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-08-29T23:17:29.816004" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:29.815407" elapsed="0.000707"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:29.820657" 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-08-29T23:17:29.816426" elapsed="0.004337"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:29.816162" elapsed="0.004669"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:29.815368" elapsed="0.005537"/>
</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-08-29T23:17:29.821154" elapsed="0.000349"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:29.826655" 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-08-29T23:17:29.822123" elapsed="0.004694">'{"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-08-29T23:17:29.821884" elapsed="0.005120">'{"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-08-29T23:17:29.821609" elapsed="0.005522">'{"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-08-29T23:17:29.785248" elapsed="0.042236">'{"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-08-29T23:17:29.773069" elapsed="0.054819"/>
</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-08-29T23:17:29.772056" elapsed="0.055948"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:29.829652" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-29T23:17:30.156381" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:17:30.156767" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:17:30.156896" 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-08-29T23:17:30.156984" 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-08-29T23:17:29.829311" elapsed="0.327727"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:30.158357" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:17:30.157548" elapsed="0.000895"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:30.159117" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-29T23:17:30.507837" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:17:30.508181" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:17:30.508298" 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-08-29T23:17:30.508383" 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-08-29T23:17:30.158740" elapsed="0.349690"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:30.509311" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-29T23:17:30.579445" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:17:30.579708" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-29T23:17:30.579797" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:17:30.579917" 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-08-29T23:17:30.508884" elapsed="0.071080"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:30.580599" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-29T23:17:30.627147" 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-08-29T23:17:30.580368" elapsed="0.046925"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:30.643609" level="INFO">DELETE Request : url=http://10.30.171.169: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=node0fo7f690tprh413dlwetu4wmb4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:30.643706" level="INFO">DELETE Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:30.643952" 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-08-29T23:17:30.627581" elapsed="0.016429"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:30.652788" level="INFO">DELETE Request : url=http://10.30.171.169: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=node0fo7f690tprh413dlwetu4wmb4.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:30.653103" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:17:30.653335" 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-08-29T23:17:30.644322" elapsed="0.009067"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-29T23:17:29.828644" elapsed="0.824883"/>
</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-08-29T23:17:28.942094" elapsed="1.711522"/>
</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-08-29T23:17:30.656981" level="INFO">Creating Session using : alias=session, url=http://10.30.171.169:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7b4b71d45cd0&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-08-29T23:17:30.656427" elapsed="0.000861"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:30.657770" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-29T23:17:30.675116" 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-08-29T23:17:30.657576" elapsed="0.017685"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:30.675733" 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-08-29T23:17:31.082389" 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-08-29T23:17:30.675541" elapsed="0.407072"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:31.083402" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-29T23:17:31.139564" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:17:31.139790" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC1F2L33+gjhUzcPW+9Y4E6Y0eLdxVEWKIoLA8MDPA99VI1FAr0/jfzKdj2lcj2LHzFziK0udgbmZwHH6HwtF1Sbmnb0wXH5DDvHwJ+dTjFqEzDzVb5wrdcNeRjOgmTH3SPCvVbE82D9pkFN7ub+cOr19I3rz3Xz+SP15s/g9j2...</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-08-29T23:17:31.083090" elapsed="0.056791"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:17:31.147988" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQC1F2L33+gjhUzcPW+9Y4E6Y0eLdxVEWKIoLA8MDPA99VI1FAr0/jfzKdj2lcj2LHzFziK0udgbmZwHH6HwtF1Sbmnb0wXH5DDvHwJ+dTjFqEzDzVb5wrdcNeRjOgmTH3SPCvVbE82D9pkFN7ub+cOr19I3rz3Xz+SP15s/g9j2...</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-08-29T23:17:31.140274" elapsed="0.007810"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-29T23:17:30.655769" elapsed="0.492447"/>
</kw>
<kw name="Apply SSH-based Call-Home configuration" owner="NetconfCallHome">
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:17:31.184000" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:17:31.149192" elapsed="0.034942"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:17:31.192097" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:17:31.184469" elapsed="0.007742"/>
</kw>
<doc>Upload netopeer2 configuration files needed for SSH transport</doc>
<status status="PASS" start="2026-08-29T23:17:31.148607" elapsed="0.043757"/>
</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-08-29T23:17:31.200556" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:31.193659" elapsed="0.007001"/>
</branch>
<branch type="ELSE">
<kw name="Get create device request template" owner="NetconfCallHome">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-29T23:17:31.201876" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/create_ssh_device.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:17:31.202217" 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-08-29T23:17:31.201556" elapsed="0.000733"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:17:31.203319" 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-08-29T23:17:31.202595" elapsed="0.000809"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:31.201022" elapsed="0.002488"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:31.200713" elapsed="0.002843"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:31.193611" elapsed="0.009988"/>
</if>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:31.204409" 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-08-29T23:17:31.203898" elapsed="0.000563"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:31.205242" 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-08-29T23:17:31.204745" elapsed="0.000651"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:31.206165" 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-08-29T23:17:31.205687" elapsed="0.000530"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:17:31.206993" 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-08-29T23:17:31.206520" elapsed="0.000525"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:31.227096" level="INFO">POST Request : url=http://10.30.171.169: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": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H"
        }
    }
}
 
 </msg>
<msg time="2026-08-29T23:17:31.227211" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node015iy7swfxu68310c7w528rc87q5.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 28-Aug-2026 23:17:31 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices/device=netopeer2', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:31.227418" 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-08-29T23:17:31.207330" elapsed="0.020139"/>
</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-08-29T23:17:31.227778" elapsed="0.004438"/>
</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-08-29T23:17:31.192913" elapsed="0.039451"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:17:31.233072" level="INFO">Executing command 'docker-compose up -d'.</msg>
<msg time="2026-08-29T23:17:31.549364" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:17:31.549663" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:17:31.549752" 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-08-29T23:17:31.549835" 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-08-29T23:17:31.232655" elapsed="0.317265"/>
</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-08-29T23:17:31.553213" 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-08-29T23:17:31.552453" elapsed="0.000837"/>
</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-08-29T23:17:31.554016" elapsed="0.000436"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:31.553451" elapsed="0.001079"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:31.553405" elapsed="0.001179"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:31.578537" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:31.578830" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:31.579101" 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-08-29T23:17:31.568932" elapsed="0.010222"/>
</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-08-29T23:17:31.579950" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:31.579338" elapsed="0.000807"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:31.584759" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:31.580483" elapsed="0.004416"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:31.580203" elapsed="0.004767"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:31.579298" 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-08-29T23:17:31.585322" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:31.591085" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:31.586405" elapsed="0.004859">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:31.586127" elapsed="0.005288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:31.585790" elapsed="0.005753">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:31.568063" elapsed="0.023687">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:31.551699" elapsed="0.040308">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:33.594899" 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-08-29T23:17:33.593993" elapsed="0.000974"/>
</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-08-29T23:17:33.595713" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:33.595152" elapsed="0.001114"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:33.595106" elapsed="0.001218"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:33.620071" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:33.620393" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:33.620688" 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-08-29T23:17:33.610133" elapsed="0.010609"/>
</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-08-29T23:17:33.621549" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:33.620935" elapsed="0.000726"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:33.626278" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:33.621997" elapsed="0.004388"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:33.621711" elapsed="0.004742"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:33.620894" elapsed="0.005602"/>
</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-08-29T23:17:33.626751" elapsed="0.000374"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:33.632706" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:33.627762" elapsed="0.005127">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:33.627523" elapsed="0.005517">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:33.627259" elapsed="0.005907">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:33.609271" elapsed="0.024122">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:33.593040" elapsed="0.040548">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:35.636604" 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-08-29T23:17:35.635636" elapsed="0.001039"/>
</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-08-29T23:17:35.637496" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:35.636891" elapsed="0.001146"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:35.636815" elapsed="0.001275"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:35.662103" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:35.662561" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:35.662770" 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-08-29T23:17:35.651929" elapsed="0.010892"/>
</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-08-29T23:17:35.663632" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:35.663016" elapsed="0.000727"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:35.668377" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:35.664077" elapsed="0.004402"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:35.663791" elapsed="0.004755"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:35.662976" elapsed="0.005615"/>
</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-08-29T23:17:35.668873" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:35.674530" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:35.669894" elapsed="0.004797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:35.669625" elapsed="0.005212">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:35.669361" elapsed="0.005636">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:35.651056" elapsed="0.024144">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:35.634636" elapsed="0.040780">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:37.678443" 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-08-29T23:17:37.677512" elapsed="0.001003"/>
</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-08-29T23:17:37.679328" elapsed="0.000430"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:37.678716" elapsed="0.001122"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:37.678660" elapsed="0.001274"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:37.704384" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:37.704689" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:37.704939" 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-08-29T23:17:37.694232" elapsed="0.010763"/>
</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-08-29T23:17:37.705760" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:37.705153" elapsed="0.000751"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:37.710483" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:37.706204" elapsed="0.004381"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:37.705953" elapsed="0.004701"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:37.705114" elapsed="0.005583"/>
</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-08-29T23:17:37.710975" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:37.716547" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:37.711991" elapsed="0.004715">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:37.711719" elapsed="0.005163">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:37.711457" elapsed="0.005558">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:37.693373" elapsed="0.023848">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:37.676511" elapsed="0.041023">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:39.720668" 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-08-29T23:17:39.719710" 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="PASS" start="2026-08-29T23:17:39.721546" elapsed="0.000467"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:39.720970" elapsed="0.001135"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:39.720919" elapsed="0.001247"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:39.745958" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:39.746278" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:39.746500" 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-08-29T23:17:39.735985" elapsed="0.010568"/>
</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-08-29T23:17:39.747357" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:39.746712" elapsed="0.000759"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:39.752065" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:39.747765" elapsed="0.004403"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:39.747519" elapsed="0.004717"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:39.746673" elapsed="0.005605"/>
</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-08-29T23:17:39.752552" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:39.758493" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:39.753571" elapsed="0.005075">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:39.753329" elapsed="0.005466">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:39.753043" elapsed="0.005914">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:39.735121" elapsed="0.024181">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:39.718619" elapsed="0.040890">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:41.762443" 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-08-29T23:17:41.761545" elapsed="0.000966"/>
</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-08-29T23:17:41.763265" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:41.762694" elapsed="0.001090"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:41.762647" elapsed="0.001189"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:41.788371" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:41.788697" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:41.788944" 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-08-29T23:17:41.777701" elapsed="0.011299"/>
</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-08-29T23:17:41.789902" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:41.789184" elapsed="0.000836"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:41.794803" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:41.790360" elapsed="0.004581"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:41.790070" elapsed="0.004940"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:41.789141" elapsed="0.005913"/>
</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-08-29T23:17:41.795334" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:41.800887" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:41.796356" elapsed="0.004690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:41.796084" elapsed="0.005109">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:41.795791" elapsed="0.005650">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:41.776789" elapsed="0.024874">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:41.760602" elapsed="0.041288">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:43.804796" 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-08-29T23:17:43.803911" 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="PASS" start="2026-08-29T23:17:43.805646" elapsed="0.000449"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:43.805081" elapsed="0.001093"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:43.805033" elapsed="0.001196"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:43.830068" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:43.830400" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:43.830622" 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-08-29T23:17:43.820408" elapsed="0.010266"/>
</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-08-29T23:17:43.831477" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:43.830836" elapsed="0.000754"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:43.836199" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:43.831913" elapsed="0.004391"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:43.831637" elapsed="0.004762"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:43.830795" elapsed="0.005648"/>
</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-08-29T23:17:43.836698" elapsed="0.000376"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:43.842249" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:43.837714" elapsed="0.004712">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:43.837469" elapsed="0.005199">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:43.837187" elapsed="0.005610">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:43.819530" elapsed="0.023510">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:43.802969" elapsed="0.040269">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:45.846191" 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-08-29T23:17:45.845287" 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-08-29T23:17:45.847040" elapsed="0.000449"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:45.846476" elapsed="0.001091"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:45.846428" elapsed="0.001190"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:45.871457" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:45.871766" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:45.871996" 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-08-29T23:17:45.861576" elapsed="0.010472"/>
</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-08-29T23:17:45.872811" elapsed="0.000079"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:45.872205" elapsed="0.000749"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:45.877540" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:45.873261" elapsed="0.004383"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:45.873003" elapsed="0.004710"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:45.872168" elapsed="0.005588"/>
</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-08-29T23:17:45.878037" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:45.884062" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:45.879081" elapsed="0.005245">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:45.878808" elapsed="0.005694">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:45.878546" elapsed="0.006081">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:45.860713" elapsed="0.024119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:45.844312" elapsed="0.040751">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:47.888325" 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-08-29T23:17:47.887404" 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="PASS" start="2026-08-29T23:17:47.889199" elapsed="0.000459"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:47.888617" elapsed="0.001122"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:47.888567" elapsed="0.001227"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:47.915246" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:47.915582" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:47.915778" 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-08-29T23:17:47.903985" elapsed="0.011845"/>
</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-08-29T23:17:47.916633" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:47.916021" elapsed="0.000723"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:47.921415" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:47.917070" elapsed="0.004554"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:47.916791" elapsed="0.004922"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:47.915983" elapsed="0.005792"/>
</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-08-29T23:17:47.922084" elapsed="0.000368"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:47.927716" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:47.923109" elapsed="0.004821">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:47.922834" elapsed="0.005257">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:47.922570" elapsed="0.005651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:47.903105" elapsed="0.025358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:47.886321" elapsed="0.042342">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:49.931817" 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-08-29T23:17:49.930898" 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-08-29T23:17:49.932689" elapsed="0.000455"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:49.932126" elapsed="0.001097"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:49.932077" elapsed="0.001199"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:49.958055" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:49.958355" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:49.958702" 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-08-29T23:17:49.947507" elapsed="0.011249"/>
</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-08-29T23:17:49.959569" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:49.958946" elapsed="0.000738"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:49.964257" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:49.960016" elapsed="0.004345"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:49.959734" elapsed="0.004720"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:49.958905" elapsed="0.005593"/>
</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-08-29T23:17:49.964751" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:49.970313" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:49.965779" elapsed="0.004713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:49.965532" elapsed="0.005108">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:49.965249" elapsed="0.005514">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:49.946642" elapsed="0.024358">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:49.929802" elapsed="0.041390">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:51.974067" 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-08-29T23:17:51.973158" 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-08-29T23:17:51.974911" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:51.974318" elapsed="0.001109"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:51.974273" elapsed="0.001206"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:51.999364" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:51.999801" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:52.000034" 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-08-29T23:17:51.989174" elapsed="0.010913"/>
</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-08-29T23:17:52.000890" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:52.000245" elapsed="0.000760"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:52.005604" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:52.001305" elapsed="0.004401"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:52.001053" elapsed="0.004721"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:52.000206" elapsed="0.005612"/>
</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-08-29T23:17:52.006102" elapsed="0.000363"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:52.012114" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:52.007114" elapsed="0.005157">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:52.006842" elapsed="0.005598">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:52.006580" elapsed="0.005989">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:51.988308" elapsed="0.024468">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:51.972206" elapsed="0.040791">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:54.016120" 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-08-29T23:17:54.015167" elapsed="0.001024"/>
</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-08-29T23:17:54.017012" elapsed="0.000443"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:54.016386" elapsed="0.001151"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:54.016336" elapsed="0.001254"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:54.043013" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:54.043326" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:54.043552" 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-08-29T23:17:54.031388" elapsed="0.012216"/>
</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-08-29T23:17:54.044365" elapsed="0.000072"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:54.043757" elapsed="0.000745"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:54.049049" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:54.044800" elapsed="0.004362"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:54.044551" elapsed="0.004700"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:54.043720" elapsed="0.005596"/>
</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-08-29T23:17:54.049695" elapsed="0.000521"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:54.055504" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:54.050946" elapsed="0.004720">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:54.050652" elapsed="0.005161">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:54.050356" elapsed="0.005615">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:54.030544" elapsed="0.025638">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:54.014127" elapsed="0.042373">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:56.059515" 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-08-29T23:17:56.058563" 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="PASS" start="2026-08-29T23:17:56.060342" elapsed="0.000439"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:56.059776" elapsed="0.001113"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:56.059728" elapsed="0.001219"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:56.085046" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:56.085373" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:56.085620" 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-08-29T23:17:56.075167" elapsed="0.010505"/>
</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-08-29T23:17:56.086494" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:56.085881" elapsed="0.000726"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:56.091203" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:56.086949" elapsed="0.004355"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:56.086655" elapsed="0.004718"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:56.085803" elapsed="0.005614"/>
</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-08-29T23:17:56.091693" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:56.097234" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:56.092712" elapsed="0.004679">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:56.092468" elapsed="0.005093">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:56.092181" elapsed="0.005504">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:56.074298" elapsed="0.023718">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:56.057578" elapsed="0.040634">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:58.101048" 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-08-29T23:17:58.100159" 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-08-29T23:17:58.101886" elapsed="0.000421"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:58.101297" elapsed="0.001089"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:58.101251" elapsed="0.001186"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:17:58.127821" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:17:58.128201" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:17:58.128467" 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-08-29T23:17:58.116689" elapsed="0.011840"/>
</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-08-29T23:17:58.129535" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:17:58.128733" elapsed="0.000927"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:17:58.134826" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:58.130050" elapsed="0.004924"/>
</kw>
<status status="PASS" start="2026-08-29T23:17:58.129716" elapsed="0.005332"/>
</branch>
<status status="PASS" start="2026-08-29T23:17:58.128683" elapsed="0.006413"/>
</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-08-29T23:17:58.135375" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:17:58.141997" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:58.136500" elapsed="0.005668">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:58.136202" elapsed="0.006124">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:58.135915" elapsed="0.006675">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:58.115703" elapsed="0.027119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:58.099224" elapsed="0.043840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:00.146233" 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-08-29T23:18:00.145242" elapsed="0.001062"/>
</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-08-29T23:18:00.147191" elapsed="0.000497"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:00.146547" elapsed="0.001239"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:00.146449" elapsed="0.001426"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:00.172764" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:00.173120" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:00.173323" 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-08-29T23:18:00.162187" elapsed="0.011187"/>
</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-08-29T23:18:00.174242" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:00.173561" elapsed="0.000820"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:00.179164" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:00.174739" elapsed="0.004534"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:00.174431" elapsed="0.004909"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:00.173520" elapsed="0.005864"/>
</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-08-29T23:18:00.179697" elapsed="0.000407"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:00.185444" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:00.180797" elapsed="0.004843">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:00.180546" elapsed="0.005382">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:00.180232" elapsed="0.005831">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:00.161293" elapsed="0.025060">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:00.144232" elapsed="0.042489">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:02.189739" 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-08-29T23:18:02.188840" elapsed="0.000967"/>
</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-08-29T23:18:02.190584" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:02.190022" elapsed="0.001089"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:02.189973" elapsed="0.001189"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:02.215568" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:02.215918" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:02.216141" 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-08-29T23:18:02.205325" elapsed="0.010868"/>
</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-08-29T23:18:02.216982" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:02.216349" elapsed="0.000747"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:02.221703" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:02.217392" elapsed="0.004414"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:02.217145" elapsed="0.004759"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:02.216311" 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-08-29T23:18:02.222208" elapsed="0.000365"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:02.227765" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:02.223220" elapsed="0.004839">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:02.222978" elapsed="0.005233">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:02.222685" elapsed="0.005653">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:02.204455" elapsed="0.024115">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:02.187927" elapsed="0.040840">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:04.231733" 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-08-29T23:18:04.230871" 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="PASS" start="2026-08-29T23:18:04.232576" elapsed="0.000448"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:04.232018" elapsed="0.001084"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:04.231967" elapsed="0.001189"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:04.257223" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:04.257554" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:04.257753" 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-08-29T23:18:04.247035" elapsed="0.010769"/>
</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-08-29T23:18:04.258614" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:04.257992" elapsed="0.000733"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:04.263309" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:04.259049" elapsed="0.004456"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:04.258773" elapsed="0.004830"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:04.257953" elapsed="0.005694"/>
</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-08-29T23:18:04.263931" elapsed="0.000343"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:04.272572" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:04.264939" elapsed="0.007788">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:04.264671" elapsed="0.008235">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:04.264386" elapsed="0.008651">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:04.245973" elapsed="0.027272">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:04.229926" elapsed="0.043508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:06.275715" 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-08-29T23:18:06.275079" 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="PASS" start="2026-08-29T23:18:06.276310" elapsed="0.000309"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:06.275922" elapsed="0.000749"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:06.275887" elapsed="0.000821"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:06.294774" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:06.295029" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:06.295229" 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-08-29T23:18:06.285814" elapsed="0.009443"/>
</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-08-29T23:18:06.295792" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:06.295372" elapsed="0.000509"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:06.298323" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:06.296088" elapsed="0.002297"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:06.295918" elapsed="0.002502"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:06.295343" elapsed="0.003097"/>
</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-08-29T23:18:06.298579" elapsed="0.000188"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:06.301310" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:06.299125" elapsed="0.002266">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:06.298982" elapsed="0.002479">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:06.298830" elapsed="0.002690">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:06.285195" elapsed="0.016440">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:06.274340" elapsed="0.027385">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:08.304770" 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-08-29T23:18:08.303813" elapsed="0.001026"/>
</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-08-29T23:18:08.305748" elapsed="0.000525"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:08.305067" elapsed="0.001288"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:08.305018" elapsed="0.001391"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:08.332608" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:08.333095" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:08.333363" 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-08-29T23:18:08.321164" elapsed="0.012274"/>
</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-08-29T23:18:08.334544" elapsed="0.000086"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:08.333732" elapsed="0.000966"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:08.340271" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:08.335059" elapsed="0.005319"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:08.334751" elapsed="0.005700"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:08.333669" 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-08-29T23:18:08.340789" elapsed="0.000427"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:08.347209" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:08.341998" elapsed="0.005429">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:08.341699" elapsed="0.005988">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:08.341347" elapsed="0.006578">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:08.320210" elapsed="0.028014">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:08.302749" elapsed="0.045682">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:10.351673" 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-08-29T23:18:10.350753" 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="PASS" start="2026-08-29T23:18:10.352540" elapsed="0.000491"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:10.351969" elapsed="0.001144"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:10.351919" elapsed="0.001249"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:10.376735" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:10.376989" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:10.377121" 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-08-29T23:18:10.367329" elapsed="0.009825"/>
</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-08-29T23:18:10.377768" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:10.377268" elapsed="0.000598"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:10.380813" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:10.378062" elapsed="0.002839"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:10.377900" elapsed="0.003046"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:10.377239" elapsed="0.003735"/>
</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-08-29T23:18:10.381137" elapsed="0.000229"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:10.385043" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:10.381805" elapsed="0.003345">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:10.381643" elapsed="0.003602">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:10.381450" elapsed="0.003876">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:10.366359" elapsed="0.019098">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:10.349687" elapsed="0.035983">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:12.388650" 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-08-29T23:18:12.387744" 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-08-29T23:18:12.389477" elapsed="0.000478"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:12.388934" elapsed="0.001102"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:12.388888" elapsed="0.001201"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:12.414253" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:12.414568" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:12.414800" 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-08-29T23:18:12.404099" elapsed="0.010782"/>
</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-08-29T23:18:12.415681" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:12.415050" elapsed="0.000745"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:12.420417" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:12.416132" elapsed="0.004391"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:12.415871" elapsed="0.004722"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:12.415009" 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-08-29T23:18:12.420942" elapsed="0.000344"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:12.426517" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:12.421968" elapsed="0.004735">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:12.421690" elapsed="0.005197">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:12.421403" elapsed="0.005618">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:12.403167" elapsed="0.024180">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:12.386728" elapsed="0.040820">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:14.430548" 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-08-29T23:18:14.429666" elapsed="0.000953"/>
</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-08-29T23:18:14.431398" elapsed="0.000441"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:14.430830" elapsed="0.001149"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:14.430782" elapsed="0.001266"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:14.458326" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:14.458675" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:14.458948" 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-08-29T23:18:14.447086" elapsed="0.011919"/>
</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-08-29T23:18:14.459911" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:14.459195" elapsed="0.000831"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:14.464997" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:14.460333" elapsed="0.004769"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:14.460079" elapsed="0.005091"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:14.459148" elapsed="0.006066"/>
</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-08-29T23:18:14.465470" elapsed="0.000372"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:14.471190" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:14.466525" elapsed="0.004833">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:14.466261" elapsed="0.005248">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:14.465992" elapsed="0.005776">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:14.446161" elapsed="0.025872">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:14.428684" elapsed="0.043570">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:16.475285" 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-08-29T23:18:16.474365" elapsed="0.000988"/>
</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-08-29T23:18:16.476145" elapsed="0.000418"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:16.475546" elapsed="0.001096"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:16.475498" elapsed="0.001221"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:16.500891" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:16.501194" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:16.501449" 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-08-29T23:18:16.490544" elapsed="0.010964"/>
</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-08-29T23:18:16.502340" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:16.501695" elapsed="0.000756"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:16.507147" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:16.502779" elapsed="0.004471"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:16.502501" elapsed="0.004816"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:16.501633" elapsed="0.005727"/>
</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-08-29T23:18:16.507612" elapsed="0.000392"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:16.513778" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:16.508638" elapsed="0.005351">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:16.508387" elapsed="0.005880">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:16.508121" elapsed="0.006279">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:16.489702" elapsed="0.024921">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:16.473361" elapsed="0.041513">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:18.517944" 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-08-29T23:18:18.517017" 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-08-29T23:18:18.518783" elapsed="0.000461"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:18.518213" elapsed="0.001116"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:18.518164" elapsed="0.001259"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:18.546595" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:18.546968" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:18.547178" 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-08-29T23:18:18.535544" elapsed="0.011685"/>
</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-08-29T23:18:18.548068" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:18.547397" elapsed="0.000785"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:18.552875" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:18.548486" elapsed="0.004496"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:18.548231" elapsed="0.004820"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:18.547355" elapsed="0.005739"/>
</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-08-29T23:18:18.553351" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:18.559003" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:18.554404" elapsed="0.004877">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:18.554153" elapsed="0.005286">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:18.553882" elapsed="0.005683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:18.534642" elapsed="0.025162">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:18.516002" elapsed="0.044032">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:20.563148" 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-08-29T23:18:20.562253" elapsed="0.000967"/>
</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-08-29T23:18:20.564096" elapsed="0.000565"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:20.563403" elapsed="0.001395"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:20.563356" elapsed="0.001557"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:20.591187" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:20.591509" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:20.591760" 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-08-29T23:18:20.581631" 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-08-29T23:18:20.592727" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:20.592073" elapsed="0.000800"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:20.597634" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:20.593182" elapsed="0.004718"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:20.592930" elapsed="0.005043"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:20.592016" 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-08-29T23:18:20.598276" elapsed="0.000404"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:20.604293" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:20.599396" elapsed="0.005058">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:20.599143" elapsed="0.005463">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:20.598819" elapsed="0.005935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:20.580681" elapsed="0.024315">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:20.561162" elapsed="0.044031">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:22.608242" 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-08-29T23:18:22.607288" elapsed="0.001027"/>
</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-08-29T23:18:22.609166" elapsed="0.000424"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:22.608569" elapsed="0.001099"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:22.608518" elapsed="0.001226"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:22.634306" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:22.634622" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:22.634981" 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-08-29T23:18:22.623912" elapsed="0.011124"/>
</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-08-29T23:18:22.635815" elapsed="0.000085"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:22.635199" elapsed="0.000767"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:22.640563" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:22.636268" elapsed="0.004396"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:22.636015" elapsed="0.004736"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:22.635159" elapsed="0.005637"/>
</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-08-29T23:18:22.641081" elapsed="0.000348"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:22.647139" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:22.642159" elapsed="0.005140">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:22.641912" elapsed="0.005539">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:22.641578" elapsed="0.005999">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:22.623046" elapsed="0.024762">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:22.606274" elapsed="0.041760">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:24.650977" 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-08-29T23:18:24.650084" 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-08-29T23:18:24.651797" elapsed="0.000455"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:24.651232" elapsed="0.001098"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:24.651183" elapsed="0.001200"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:24.679548" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:24.680071" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:24.680331" 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-08-29T23:18:24.667600" elapsed="0.012793"/>
</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-08-29T23:18:24.681463" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:24.680608" elapsed="0.000977"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:24.687005" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:24.681958" elapsed="0.005155"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:24.681639" elapsed="0.005569"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:24.680557" elapsed="0.006718"/>
</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-08-29T23:18:24.687626" elapsed="0.000565"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:24.694632" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:24.689130" elapsed="0.005686">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:24.688735" elapsed="0.006261">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:24.688391" elapsed="0.006742">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:24.666417" elapsed="0.028958">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:24.649096" elapsed="0.046500">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:26.698749" 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-08-29T23:18:26.697804" elapsed="0.001065"/>
</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-08-29T23:18:26.699638" elapsed="0.000474"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:26.699068" elapsed="0.001124"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:26.699018" elapsed="0.001230"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:26.726799" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:26.727163" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:26.727403" 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-08-29T23:18:26.715829" elapsed="0.011627"/>
</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-08-29T23:18:26.728345" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:26.727637" elapsed="0.000822"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:26.733290" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:26.728823" elapsed="0.004570"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:26.728510" elapsed="0.004953"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:26.727594" elapsed="0.005912"/>
</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-08-29T23:18:26.733757" elapsed="0.000399"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:26.739566" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:26.734902" elapsed="0.004829">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:26.734589" elapsed="0.005378">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:26.734278" elapsed="0.005837">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:26.714667" elapsed="0.025689">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:26.696734" elapsed="0.043928">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:28.743704" 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-08-29T23:18:28.742752" elapsed="0.001021"/>
</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-08-29T23:18:28.744582" elapsed="0.000479"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:28.744029" elapsed="0.001114"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:28.743976" elapsed="0.001227"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:28.769091" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:28.769408" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:28.769607" 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-08-29T23:18:28.759014" elapsed="0.010644"/>
</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-08-29T23:18:28.770458" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:28.769840" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:28.775176" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:28.770923" elapsed="0.004356"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:28.770620" elapsed="0.004727"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:28.769778" elapsed="0.005614"/>
</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-08-29T23:18:28.775642" elapsed="0.000388"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:28.781618" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:28.776644" elapsed="0.005126">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:28.776402" elapsed="0.005576">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:28.776144" elapsed="0.005962">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:28.758157" elapsed="0.024260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:28.741703" elapsed="0.040913">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:30.785492" 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-08-29T23:18:30.784552" 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-08-29T23:18:30.786383" elapsed="0.000434"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:30.785743" elapsed="0.001231"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:30.785696" elapsed="0.001340"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:30.810937" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:30.811244" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:30.811440" 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-08-29T23:18:30.800921" elapsed="0.010570"/>
</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-08-29T23:18:30.812281" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:30.811646" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:30.817014" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:30.812690" elapsed="0.004426"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:30.812442" elapsed="0.004743"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:30.811609" elapsed="0.005620"/>
</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-08-29T23:18:30.817481" elapsed="0.000340"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:30.823049" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:30.818482" elapsed="0.004724">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:30.818242" elapsed="0.005110">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:30.817979" elapsed="0.005585">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:30.800061" elapsed="0.023714">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:30.783567" elapsed="0.040449">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:32.827117" 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-08-29T23:18:32.826163" 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-08-29T23:18:32.828011" elapsed="0.000477"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:32.827385" elapsed="0.001187"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:32.827335" elapsed="0.001294"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:32.854368" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:32.854717" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:32.855026" 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-08-29T23:18:32.843971" elapsed="0.011112"/>
</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-08-29T23:18:32.855942" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:32.855257" elapsed="0.000802"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:32.860749" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:32.856359" elapsed="0.004535"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:32.856108" elapsed="0.004857"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:32.855214" elapsed="0.005795"/>
</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-08-29T23:18:32.861261" elapsed="0.000341"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:32.866965" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:32.862283" elapsed="0.004860">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:32.862037" elapsed="0.005359">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:32.861716" elapsed="0.005832">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:32.843041" elapsed="0.024736">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:32.825124" elapsed="0.042894">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:34.871427" 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-08-29T23:18:34.870233" elapsed="0.001269"/>
</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-08-29T23:18:34.872364" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:34.871720" elapsed="0.001256"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:34.871665" elapsed="0.001374"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:34.896824" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:34.897201" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:34.897410" 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-08-29T23:18:34.887054" elapsed="0.010407"/>
</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-08-29T23:18:34.898249" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:34.897614" elapsed="0.000748"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:34.903114" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:34.898672" elapsed="0.004545"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:34.898410" elapsed="0.004874"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:34.897577" elapsed="0.005750"/>
</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-08-29T23:18:34.903580" elapsed="0.000389"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:34.909515" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:34.904589" elapsed="0.005383">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:34.904347" elapsed="0.005787">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:34.904085" elapsed="0.006178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:34.886204" elapsed="0.024266">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:34.869134" elapsed="0.041525">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:36.913814" 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-08-29T23:18:36.912830" elapsed="0.001108"/>
</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-08-29T23:18:36.914684" elapsed="0.000476"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:36.914139" elapsed="0.001100"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:36.914089" elapsed="0.001206"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:36.939302" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:36.939639" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:36.939878" 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-08-29T23:18:36.929232" elapsed="0.010741"/>
</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-08-29T23:18:36.940747" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:36.940138" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:36.945620" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:36.941270" elapsed="0.004552"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:36.940997" elapsed="0.004946"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:36.940099" elapsed="0.005890"/>
</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-08-29T23:18:36.946244" elapsed="0.000347"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:36.951839" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:36.947270" elapsed="0.004784">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:36.947027" elapsed="0.005178">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:36.946706" elapsed="0.005626">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:36.928363" elapsed="0.024174">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:36.911726" elapsed="0.041001">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:38.955578" 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-08-29T23:18:38.954641" 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-08-29T23:18:38.956473" elapsed="0.000465"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:38.955836" elapsed="0.001197"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:38.955789" elapsed="0.001301"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:38.980593" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:38.980973" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:38.981309" 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-08-29T23:18:38.971642" elapsed="0.009721"/>
</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-08-29T23:18:38.982219" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:38.981538" elapsed="0.000798"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:38.987114" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:38.982643" elapsed="0.004575"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:38.982387" elapsed="0.004899"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:38.981495" elapsed="0.005833"/>
</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-08-29T23:18:38.987579" elapsed="0.000399"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:38.993236" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:38.988616" elapsed="0.004781">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:38.988363" elapsed="0.005183">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:38.988096" elapsed="0.005573">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:38.970771" elapsed="0.023136">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:38.953659" elapsed="0.040464">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:40.997118" 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-08-29T23:18:40.996160" elapsed="0.001027"/>
</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-08-29T23:18:40.997988" elapsed="0.000431"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:40.997384" elapsed="0.001113"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:40.997333" elapsed="0.001222"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:41.022491" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:41.022933" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:41.023156" 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-08-29T23:18:41.012480" elapsed="0.010728"/>
</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-08-29T23:18:41.024014" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:41.023366" elapsed="0.000763"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:41.031561" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:41.024438" elapsed="0.007228"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:41.024178" elapsed="0.007558"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:41.023328" elapsed="0.008452"/>
</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-08-29T23:18:41.032120" elapsed="0.000345"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:41.037938" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:41.033133" elapsed="0.004990">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:41.032836" elapsed="0.005435">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:41.032578" elapsed="0.005818">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:41.011615" elapsed="0.026982">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:40.995203" elapsed="0.043582">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:43.041906" 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-08-29T23:18:43.040973" elapsed="0.001010"/>
</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-08-29T23:18:43.042749" elapsed="0.000483"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:43.042200" elapsed="0.001112"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:43.042150" elapsed="0.001219"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:43.067443" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:43.067751" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:43.067981" 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-08-29T23:18:43.057301" elapsed="0.010766"/>
</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-08-29T23:18:43.068802" elapsed="0.000080"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:43.068224" elapsed="0.000725"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:43.073527" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:43.069278" elapsed="0.004351"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:43.068997" elapsed="0.004701"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:43.068186" elapsed="0.005555"/>
</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-08-29T23:18:43.074054" elapsed="0.000350"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:43.079731" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:43.075130" elapsed="0.004803">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:43.074784" elapsed="0.005322">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:43.074519" elapsed="0.005713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:43.056431" elapsed="0.024004">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:43.039962" elapsed="0.040770">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:45.083762" 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-08-29T23:18:45.082796" 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-08-29T23:18:45.084750" elapsed="0.000724"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:45.084078" elapsed="0.001514"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:45.084007" elapsed="0.001646"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:45.115407" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:45.115804" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:45.116130" 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-08-29T23:18:45.103671" elapsed="0.012519"/>
</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-08-29T23:18:45.117180" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:45.116414" elapsed="0.000895"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:45.123512" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:45.117723" elapsed="0.005940"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:45.117362" elapsed="0.006406"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:45.116351" elapsed="0.007486"/>
</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-08-29T23:18:45.124307" elapsed="0.000530"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:45.133142" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:45.125942" elapsed="0.007423">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:45.125502" elapsed="0.008077">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:45.125092" elapsed="0.008672">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:45.102408" elapsed="0.031854">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:45.081792" elapsed="0.052773">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:47.138403" 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-08-29T23:18:47.137278" elapsed="0.001206"/>
</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-08-29T23:18:47.139294" elapsed="0.000427"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:47.138683" elapsed="0.001118"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:47.138635" elapsed="0.001251"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:47.164981" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:47.165327" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:47.165581" 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-08-29T23:18:47.155089" elapsed="0.010552"/>
</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-08-29T23:18:47.166510" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:47.165841" elapsed="0.000787"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:47.171407" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:47.167012" elapsed="0.004499"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:47.166678" elapsed="0.004903"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:47.165799" elapsed="0.005826"/>
</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-08-29T23:18:47.171913" elapsed="0.000375"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:47.178645" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:47.172978" elapsed="0.005835">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:47.172698" elapsed="0.006307">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:47.172405" elapsed="0.006881">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:47.154214" elapsed="0.025310">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:47.135822" elapsed="0.043902">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:49.182757" 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-08-29T23:18:49.181835" 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="PASS" start="2026-08-29T23:18:49.183618" elapsed="0.000452"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:49.183050" elapsed="0.001120"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:49.183000" elapsed="0.001224"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:49.208364" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:49.208680" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:49.208913" 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-08-29T23:18:49.198337" elapsed="0.010630"/>
</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-08-29T23:18:49.209747" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:49.209145" elapsed="0.000746"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:49.214513" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:49.210226" elapsed="0.004390"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:49.209941" elapsed="0.004742"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:49.209086" 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-08-29T23:18:49.215014" elapsed="0.000364"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:49.220576" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:49.216036" elapsed="0.004698">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:49.215759" elapsed="0.005260">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:49.215494" elapsed="0.005683">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:49.197463" elapsed="0.023928">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:49.180786" elapsed="0.040797">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:51.224541" 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-08-29T23:18:51.223626" 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-08-29T23:18:51.225395" elapsed="0.000422"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:51.224804" elapsed="0.001123"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:51.224754" elapsed="0.001228"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:51.250769" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:51.251180" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:51.251452" 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-08-29T23:18:51.240640" elapsed="0.010867"/>
</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-08-29T23:18:51.252452" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:51.251700" elapsed="0.000873"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:51.257344" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:51.252924" elapsed="0.004522"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:51.252628" elapsed="0.004888"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:51.251652" elapsed="0.005907"/>
</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-08-29T23:18:51.257817" elapsed="0.000401"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:51.263451" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:51.258889" elapsed="0.004826">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:51.258602" elapsed="0.005299">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:51.258336" elapsed="0.005697">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:51.239763" elapsed="0.024506">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:51.222660" elapsed="0.041808">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:53.267604" 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-08-29T23:18:53.266628" elapsed="0.001047"/>
</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-08-29T23:18:53.268467" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:53.267900" elapsed="0.001099"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:53.267820" elapsed="0.001234"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:53.294235" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:53.294559" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:53.294764" 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-08-29T23:18:53.283683" elapsed="0.011135"/>
</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-08-29T23:18:53.295635" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:53.295016" elapsed="0.000731"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:53.300904" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:53.296099" elapsed="0.005044"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:53.295795" elapsed="0.005457"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:53.294975" elapsed="0.006324"/>
</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-08-29T23:18:53.301558" elapsed="0.000382"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:53.307779" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:53.302600" elapsed="0.005372">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:53.302346" elapsed="0.005780">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:53.302056" elapsed="0.006223">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:53.282796" elapsed="0.025688">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:53.265588" elapsed="0.043090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:55.312604" 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-08-29T23:18:55.311290" elapsed="0.001409"/>
</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-08-29T23:18:55.313730" elapsed="0.000633"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:55.312988" elapsed="0.001482"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:55.312918" elapsed="0.001628"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:55.341580" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:55.341982" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:55.342366" 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-08-29T23:18:55.332327" elapsed="0.010100"/>
</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-08-29T23:18:55.343449" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:55.342638" elapsed="0.000937"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:55.348819" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:55.343954" elapsed="0.005013"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:55.343631" elapsed="0.005411"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:55.342585" elapsed="0.006504"/>
</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-08-29T23:18:55.349389" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:55.355515" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:55.350520" elapsed="0.005165">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:55.350234" elapsed="0.005641">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:55.349926" elapsed="0.006090">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:55.331326" elapsed="0.024935">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:55.309988" elapsed="0.046487">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:57.359468" 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-08-29T23:18:57.358549" 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="PASS" start="2026-08-29T23:18:57.360320" elapsed="0.000422"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:57.359724" elapsed="0.001095"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:57.359678" elapsed="0.001228"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:57.386710" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:57.387272" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:57.387518" 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-08-29T23:18:57.376021" elapsed="0.011549"/>
</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-08-29T23:18:57.388416" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:57.387729" elapsed="0.000803"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:57.393270" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:57.388838" elapsed="0.004558"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:57.388583" elapsed="0.004884"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:57.387690" elapsed="0.005824"/>
</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-08-29T23:18:57.393771" elapsed="0.000384"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:57.399688" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:57.394832" elapsed="0.005099">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:57.394585" elapsed="0.005508">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:57.394298" elapsed="0.005949">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:57.375099" elapsed="0.025366">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:57.357562" elapsed="0.043119">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:59.403634" 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-08-29T23:18:59.402698" 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-08-29T23:18:59.404514" elapsed="0.000450"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:59.403916" elapsed="0.001127"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:59.403838" elapsed="0.001257"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:18:59.429431" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:18:59.429749" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:18:59.430049" 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-08-29T23:18:59.419573" elapsed="0.010535"/>
</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-08-29T23:18:59.431065" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:18:59.430320" elapsed="0.000861"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:18:59.436103" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:59.431517" elapsed="0.004714"/>
</kw>
<status status="PASS" start="2026-08-29T23:18:59.431234" elapsed="0.005089"/>
</branch>
<status status="PASS" start="2026-08-29T23:18:59.430247" elapsed="0.006121"/>
</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-08-29T23:18:59.436625" elapsed="0.000378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:18:59.442825" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:59.437685" elapsed="0.005336">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:59.437425" elapsed="0.005744">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:59.437117" elapsed="0.006203">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:59.418587" elapsed="0.024971">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:18:59.401705" elapsed="0.042169">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:01.446937" 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-08-29T23:19:01.445997" 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-08-29T23:19:01.447767" elapsed="0.000451"/>
</kw>
<status status="PASS" start="2026-08-29T23:19:01.447206" elapsed="0.001112"/>
</branch>
<status status="PASS" start="2026-08-29T23:19:01.447155" elapsed="0.001221"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:01.472399" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:19:01.472704" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:19:01.472929" 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-08-29T23:19:01.462265" elapsed="0.010717"/>
</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-08-29T23:19:01.473743" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:19:01.473140" elapsed="0.000742"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:19:01.478554" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:01.474183" elapsed="0.004473"/>
</kw>
<status status="PASS" start="2026-08-29T23:19:01.473934" elapsed="0.004789"/>
</branch>
<status status="PASS" start="2026-08-29T23:19:01.473103" elapsed="0.005664"/>
</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-08-29T23:19:01.479048" elapsed="0.000356"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:19:01.484716" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:01.480041" elapsed="0.004859">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:01.479775" elapsed="0.005275">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:01.479517" elapsed="0.005659">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:01.461404" elapsed="0.024096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:01.444983" elapsed="0.040713">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.488816" 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-08-29T23:19:03.487943" elapsed="0.000971"/>
</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-08-29T23:19:03.489664" elapsed="0.000449"/>
</kw>
<status status="PASS" start="2026-08-29T23:19:03.489102" elapsed="0.001093"/>
</branch>
<status status="PASS" start="2026-08-29T23:19:03.489054" elapsed="0.001194"/>
</if>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:03.515159" level="INFO">GET Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:19:03.515505" level="INFO">GET Response : url=http://10.30.171.169: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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}} 
 </msg>
<msg time="2026-08-29T23:19:03.515731" 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-08-29T23:19:03.505085" elapsed="0.010701"/>
</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-08-29T23:19:03.516593" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-29T23:19:03.515984" elapsed="0.000724"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:19:03.521493" level="INFO">{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.517054" elapsed="0.004544"/>
</kw>
<status status="PASS" start="2026-08-29T23:19:03.516759" elapsed="0.004909"/>
</branch>
<status status="PASS" start="2026-08-29T23:19:03.515943" elapsed="0.005769"/>
</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-08-29T23:19:03.522004" elapsed="0.000380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:19:03.528001" level="FAIL">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.523077" elapsed="0.005096">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.522781" elapsed="0.005569">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.522505" elapsed="0.006125">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.504085" elapsed="0.024800">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.486914" elapsed="0.042176">'{"odl-netconf-callhome-server:netconf-callhome-server":{"allowed-devices":{"device":[{"unique-id":"netopeer2","device-status":"DISCONNECTED","ssh-client-params":{"host-key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","credentials":{"username":"root","passwords":["root"]}}}]}}}' does not contain '"device-status":"FAILED_NOT_ALLOWED"'</status>
</kw>
<msg time="2026-08-29T23:19:03.529280" 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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:17:31.550375" elapsed="91.979152">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:03.529933" elapsed="0.000048"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:03.531703" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-29T23:19:03.839657" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:19:03.840074" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:19:03.840163" 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-08-29T23:19:03.840243" 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-08-29T23:19:03.531339" elapsed="0.308950"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:19:03.841548" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:19:03.840808" elapsed="0.000829"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:03.842362" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-29T23:19:04.204448" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:19:04.204800" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:19:04.204949" 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-08-29T23:19:04.205039" 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-08-29T23:19:03.841972" elapsed="0.363114"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:04.206052" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-29T23:19:04.270898" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:04.271148" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-29T23:19:04.271235" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:19:04.271314" 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-08-29T23:19:04.205560" elapsed="0.065830"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:04.271970" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-29T23:19:04.322646" 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-08-29T23:19:04.271728" elapsed="0.051036"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:04.339051" level="INFO">DELETE Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:19:04.339148" level="INFO">DELETE Response : url=http://10.30.171.169:8181/rests/data/odl-netconf-callhome-server:netconf-callhome-server/allowed-devices 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-29T23:19:04.339327" 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-08-29T23:19:04.323198" elapsed="0.016215"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:04.348984" level="INFO">DELETE Request : url=http://10.30.171.169: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=node015iy7swfxu68310c7w528rc87q5.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:19:04.349271" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:19:04.349499" 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-08-29T23:19:04.339701" elapsed="0.009851"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-29T23:19:03.530645" elapsed="0.819053"/>
</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-08-29T23:17:30.654496" elapsed="93.695309">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":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDXracHFI+TZ2KZaBhy4jPUn2KvLZSHcIxDlxFsC+nBDTFIHjg/zP4nSWOlf6ib1/Sdwt40RJz8qkYp+dCai6E7Rvc68Cw3My/tUUHX+FT5r036/46mBpabqTHVrZ3RqCC9kAZp8O9BMWIj2M6R8gwkwww0FVMCyNlBy7NTYUDvuHNltcvclBtm6OOWOYCz8kfqtpn4z49n7mICHINzcmKiwdyAkiLYJaS9CX2Sf80mk+Ekf3TM0ZXXGH5zzda9YwpaLp1Is+QGb8xUwHcAX7LC3VIXSMs0DSXFS1YCVcbyMw74rsps2KKSC/ZzrdH8eveWTLv74JR56qlPwk8RlA6H","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-08-29T23:19:04.353357" level="INFO">Creating Session using : alias=session, url=http://10.30.171.169:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x7b4b71c97ed0&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-08-29T23:19:04.352741" elapsed="0.000960"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:04.354328" level="INFO">Executing command 'rm -rf ./configuration-files &amp;&amp; mkdir configuration-files'.</msg>
<msg time="2026-08-29T23:19:04.374547" 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-08-29T23:19:04.354049" elapsed="0.020615"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:04.375197" 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-08-29T23:19:04.558918" 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-08-29T23:19:04.375002" elapsed="0.184044"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:04.559580" level="INFO">Executing command 'cat configuration-files/ssh_host_rsa_key.pub | awk '{print $2}''.</msg>
<msg time="2026-08-29T23:19:04.606928" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:04.607167" level="INFO">${public_key} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCWXMiOwNhP/b2SBTMNvMJZHfwxVA+C11zH+o2nzdBpv6or/tY0qKkbCBXKb99/DYVEbhyHEvVUvpf1Gs4LqSrRYG7cwT4o4VVgKApetxXY+sFMjMG3ufFHVgH5ODqdh/DiZ1LUFk9aWmNKGFGCaoG+3EyfGgApJNlMl57rpLxB...</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-08-29T23:19:04.559366" elapsed="0.047855"/>
</kw>
<kw name="Set Test Variable" owner="BuiltIn">
<msg time="2026-08-29T23:19:04.616113" level="INFO">${NETOPEER_PUB_KEY} = AAAAB3NzaC1yc2EAAAADAQABAAABAQCWXMiOwNhP/b2SBTMNvMJZHfwxVA+C11zH+o2nzdBpv6or/tY0qKkbCBXKb99/DYVEbhyHEvVUvpf1Gs4LqSrRYG7cwT4o4VVgKApetxXY+sFMjMG3ufFHVgH5ODqdh/DiZ1LUFk9aWmNKGFGCaoG+3EyfGgApJNlMl57rpLxB...</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-08-29T23:19:04.607625" elapsed="0.008587"/>
</kw>
<doc>Opens session towards ODL controller, set configuration folder, generates a new host key for the container</doc>
<status status="PASS" start="2026-08-29T23:19:04.352170" elapsed="0.264255"/>
</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-08-29T23:19:04.618301" level="INFO">Executing command 'rm -rf ./certs &amp;&amp; mkdir ./certs'.</msg>
<msg time="2026-08-29T23:19:04.654490" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:04.654675" 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-08-29T23:19:04.618108" elapsed="0.036614"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:19:04.703546" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/libraries/../variables/netconf/callhome/x509_v3.cfg' -&gt; '/home/jenkins/./x509_v3.cfg'</msg>
<arg>/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-08-29T23:19:04.655046" elapsed="0.048726"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:04.704323" level="INFO">Executing command 'openssl genrsa -out ./certs/ca.key 2048'.</msg>
<msg time="2026-08-29T23:19:05.000724" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.001161" 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-08-29T23:19:04.704113" elapsed="0.297114"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.002108" 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-08-29T23:19:05.064874" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.064996" 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-08-29T23:19:05.001749" elapsed="0.063277"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.065366" level="INFO">Executing command 'openssl genrsa -out ./certs/server.key 2048'.</msg>
<msg time="2026-08-29T23:19:05.282063" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.282307" 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-08-29T23:19:05.065216" elapsed="0.217125"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.282895" 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-08-29T23:19:05.336938" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.337057" 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-08-29T23:19:05.282658" elapsed="0.054428"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.337412" 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-08-29T23:19:05.400969" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.401130" 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-08-29T23:19:05.337268" elapsed="0.063893"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.401566" level="INFO">Executing command 'openssl rsa -in ./certs/server.key -pubout &gt; ./certs/server.pub'.</msg>
<msg time="2026-08-29T23:19:05.465381" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.465514" 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-08-29T23:19:05.401405" elapsed="0.064140"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.465888" level="INFO">Executing command 'openssl genrsa -out ./certs/client.key 2048'.</msg>
<msg time="2026-08-29T23:19:05.615736" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.615963" 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-08-29T23:19:05.465734" elapsed="0.150262"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.616497" 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-08-29T23:19:05.685341" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.685643" 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-08-29T23:19:05.616256" elapsed="0.069429"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.686236" 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-08-29T23:19:05.746007" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.746333" 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-08-29T23:19:05.686040" elapsed="0.060371"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.747083" level="INFO">Executing command 'mv ./certs ./configuration-files/certs'.</msg>
<msg time="2026-08-29T23:19:05.799389" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.799679" 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-08-29T23:19:05.746809" elapsed="0.052922"/>
</kw>
<doc>Generates certificates for 2-way TLS authentication (ca, server, client)</doc>
<status status="PASS" start="2026-08-29T23:19:04.617567" elapsed="1.182375"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.847445" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:19:05.800290" elapsed="0.047352"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.857133" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:19:05.848085" elapsed="0.009254"/>
</kw>
<kw name="Put File" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.867043" level="INFO">'/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/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-gate-callhome-only-titanium/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-08-29T23:19:05.857646" elapsed="0.009518"/>
</kw>
<doc>Upload netopeer2 configuration files needed for TLS transport</doc>
<status status="PASS" start="2026-08-29T23:19:04.616834" elapsed="1.250472"/>
</kw>
<kw name="Register keys and certificates in ODL controller" owner="NetconfCallHome">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.868996" level="INFO">Executing command 'cat ./configuration-files/certs/client.key'.</msg>
<msg time="2026-08-29T23:19:05.882271" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:05.882532" level="INFO">${pem-client-key} = -----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCzwMovDN1QmjLE
OR6kDJl9JK2yT7CetPpLkRTSQC6OlDvchPWZV0/3DbSe46C8xG4zgnalGR0opYp+
0kfJa9ZAjX/9zXjsRHHCItNc+YozJ1RPtuQCEzv0An...</msg>
<msg time="2026-08-29T23:19:05.882620" 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-08-29T23:19:05.868571" elapsed="0.014093"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-29T23:19:05.883304" level="INFO" html="true">Getting file '&lt;a href="file:///w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json"&gt;/w/workspace/netconf-csit-1node-gate-callhome-only-titanium/test/csit/variables/netconf/callhome/json/add_keystore_entry.json&lt;/a&gt;'.</msg>
<msg time="2026-08-29T23:19:05.883618" 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-08-29T23:19:05.882994" elapsed="0.000677"/>
</kw>
<kw name="Replace String" owner="String">
<msg time="2026-08-29T23:19:05.884523" level="INFO">${body} = {
    "input": {
        "key-credential": [
            {
                "key-id": "tls-device-key",
                "private-key": "-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwg...</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-08-29T23:19:05.884016" elapsed="0.000560"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:05.942176" level="INFO">POST Request : url=http://10.30.171.169: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-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCzwMovDN1QmjLE
OR6kDJl9JK2yT7CetPpLkRTSQC6OlDvchPWZV0/3DbSe46C8xG4zgnalGR0opYp+
0kfJa9ZAjX/9zXjsRHHCItNc+YozJ1RPtuQCEzv0AnTfT7l0y5ZFIoQomy61B4rn
LjMPrAqlVmppqTBvgtEENrE6Yca86QQFxA7mwOgzPuEkVcKPuDp/m0Y5VKNzXC0o
JrnbzRelMvXALp8iiUK4+Re79++4FlGMMeKoV96ptRy97F65ZL1HWoCQnTuNpAOV
c5eon0ZndCp5iV/ZPMKGvySN+y3YctTPDxEWPHRE3EylTdxbTMTww8Begq+iB5xr
kE7Etyr7AgMBAAECggEAFWUei5Ab7YKVBU8JKxyGzmLlu8IJczJ2UjVABbB2+iiB
oYM/2lMOpQjAFWNhl+ZHeaEPLyJ4moRtoh+0RLCtrTxKXjKtMG4LHkDX6IqZHPKS
8fQCWo7ghXAfag8Ks3Ch/7OWiGDEI+70ZQTWNgjTsY9CFjZ5meQ3rak22gyWQ5jD
fH3jSapG1qz3WURXG0saOi6sS5NcoIYSAkuH2LPdM251ItdxWqDBieVgnvsELviU
1P0uu6gvioCXQC+xq7PWtisBSmw5QdOhEb2Pc7+x7XsRiTTLw0P5RMSI0coi2VuP
kvUVVUmR2rCB9xxq3nsMrUh4DNFgHHclJFl3z1pniQKBgQDZHw1pGnow7XHN2Zcv
PObJi4ClW9VqrUUJH+QMSOblYgrGRzbARiprXEU50t9FWJprRmHvoB1q6jf3Xxmk
owxF8AVcAJyIpx3WYvq9WbfgwaizC4F8wQ/2OI4DcDcIadAneGlM8r65crWtxrOC
ziyu8/IGTGvhpC4yPLeUtbd2iQKBgQDT8MKRZkp5NvDUiRfcs3pXKlLD12ufXi5L
BmN1fvSCIfS5VTXCeHe2TxolFPhVgUc7f/MbYzyHlJ+posq5UceGyDAgAMyTyXeX
mUWAhffmID2K8p9pI6Mj35mvmml24z4CRZwPDQe1yoqhLemXK9JI4MVotFRPBbvT
USNiKQy0YwKBgBGPBVKepYsXaMCw/B0B29gow/qbdqLt6EtYnOSxcJrUVvK6B599
DSkpiR+oAg5ln/dU9c6fMEHZNzV2J2i9Ft0BEC3kjsQuX6da0dRGUSyH/NCd+ZbR
Ni0/XZzBknHHvOG0Ry/F4c61jCPFkfbeHZb4e3Yu7/qLgIDnkCEioPehAoGAYW2J
E+wRCj3uYdWPyZ4b/FvxZiPuTnmuEEEkkYvF/Nh9NoFsUDSu23jrjOZh7nSaeUit
SgbJeY4iA4pZZO2qKlR2gw+6+6ket+r2n0l2lyx0/h3gmCWQxlnwvV/fYY6/H64+
OlEEHVa5ebSwcBTt+yCQvzw+kYESQedHu8UhGP8CgYABPuAn+IswRpT6BFtg9HSC
gI6HnR0AMOeS8DGVGuxdNxf5mTM38WsT9unx1QiCqWuOCTC4co5PziIvjztA1ZPj
qVX2VrJmencIl56Nyms/EeLwEAEqwKDUqpVGRUNYspKX8Myq5ECJzjWL/SbOd5NB
s5k/LqUNuzyDBw5kEuW2mw==
-----END PRIVATE KEY-----",
                "passphrase": ""
            }
        ]
    }
}
 
 </msg>
<msg time="2026-08-29T23:19:05.942559" level="INFO">POST Response : url=http://10.30.171.169:8181/rests/operations/netconf-keystore:add-keystore-entry 
 status=500, reason=Internal Server Error 
 headers={'Set-Cookie': 'JSESSIONID=node01xjumb78hcektzf120iwc5y526.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Fri, 28-Aug-2026 23:19:05 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-08-29T23:19:05.942803" 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-08-29T23:19:05.884872" elapsed="0.058013"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-29T23:19:05.948406" 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-08-29T23:19:05.943237" elapsed="0.005319">'[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-08-29T23:19:05.948988" elapsed="0.000053"/>
</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-08-29T23:19:05.949348" elapsed="0.000066"/>
</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-08-29T23:19:05.949756" elapsed="0.000041"/>
</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-08-29T23:19:05.950100" elapsed="0.000040"/>
</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-08-29T23:19:05.950432" elapsed="0.000040"/>
</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-08-29T23:19:05.950724" elapsed="0.000040"/>
</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-08-29T23:19:05.951073" elapsed="0.000040"/>
</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-08-29T23:19:05.951441" elapsed="0.000045"/>
</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-08-29T23:19:05.951787" elapsed="0.000044"/>
</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-08-29T23:19:05.952116" elapsed="0.000040"/>
</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-08-29T23:19:05.952441" elapsed="0.000041"/>
</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-08-29T23:19:05.952747" elapsed="0.000039"/>
</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-08-29T23:19:05.953066" elapsed="0.000040"/>
</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-08-29T23:19:05.953401" elapsed="0.000040"/>
</kw>
<doc>Register pre-configured netopeer2 certificates and key in ODL-netconf keystore</doc>
<status status="FAIL" start="2026-08-29T23:19:05.867924" elapsed="0.085729">'[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-08-29T23:19:05.954046" elapsed="0.000048"/>
</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-08-29T23:19:05.954382" elapsed="0.000043"/>
</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-08-29T23:19:05.954743" elapsed="0.000040"/>
</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-08-29T23:19:05.955098" elapsed="0.000041"/>
</kw>
<kw name="Test Teardown" owner="NetconfCallHome" type="TEARDOWN">
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:05.956736" level="INFO">Executing command 'docker-compose logs'.</msg>
<msg time="2026-08-29T23:19:06.294072" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:19:06.294507" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:19:06.294600" 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-08-29T23:19:06.294686" 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-08-29T23:19:05.956385" elapsed="0.338348"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-29T23:19:06.295986" level="INFO"/>
<arg>${stdout}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-29T23:19:06.295255" elapsed="0.000822"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:06.296769" level="INFO">Executing command 'docker-compose down'.</msg>
<msg time="2026-08-29T23:19:06.646186" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-29T23:19:06.646633" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:19:06.646723" 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-08-29T23:19:06.646808" 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-08-29T23:19:06.296394" elapsed="0.350504"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:06.647999" level="INFO">Executing command 'docker ps -a'.</msg>
<msg time="2026-08-29T23:19:06.718636" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:06.718927" level="INFO">${stdout} = CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES</msg>
<msg time="2026-08-29T23:19:06.719016" level="INFO">${stderr} = </msg>
<msg time="2026-08-29T23:19:06.719093" 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-08-29T23:19:06.647364" elapsed="0.071773"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-29T23:19:06.719890" level="INFO">Executing command 'rm -rf ./configuration-files'.</msg>
<msg time="2026-08-29T23:19:06.766620" 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-08-29T23:19:06.719641" elapsed="0.047112"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:06.778154" level="INFO">DELETE Request : url=http://10.30.171.169: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=node01xjumb78hcektzf120iwc5y526.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:19:06.778511" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:19:06.778724" 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-08-29T23:19:06.767100" elapsed="0.011675"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:06.787977" level="INFO">DELETE Request : url=http://10.30.171.169: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=node01xjumb78hcektzf120iwc5y526.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-29T23:19:06.788202" level="INFO">DELETE Response : url=http://10.30.171.169: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-08-29T23:19:06.788437" 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-08-29T23:19:06.779111" elapsed="0.009382"/>
</kw>
<doc>Tears down the docker running netopeer and deletes entry from the whitelist.</doc>
<status status="PASS" start="2026-08-29T23:19:05.955738" elapsed="0.832905"/>
</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-08-29T23:19:04.350710" elapsed="2.438044">'[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-08-29T23:19:06.792023" level="INFO">Executing command 'pip uninstall docker-compose'.</msg>
<msg time="2026-08-29T23:19:07.646571" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-29T23:19:07.647008" level="INFO">${stdout} = </msg>
<msg time="2026-08-29T23:19:07.647098" level="INFO">${stderr} = WARNING: Skipping docker-compose as it is not installed.</msg>
<msg time="2026-08-29T23:19:07.647180" 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-08-29T23:19:06.791610" elapsed="0.855618"/>
</kw>
<doc>Uninstall docker-compose on tools system</doc>
<status status="PASS" start="2026-08-29T23:19:06.791067" elapsed="0.856389"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-08-29T23:19:07.648060" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-29T23:19:07.647812" elapsed="0.001119"/>
</kw>
<kw name="Close All Connections" owner="SSHLibrary">
<doc>Closes all open connections.</doc>
<status status="PASS" start="2026-08-29T23:19:07.649253" elapsed="0.000704"/>
</kw>
<doc>Tearing down the setup.</doc>
<status status="PASS" start="2026-08-29T23:19:06.790515" elapsed="0.859581"/>
</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-08-29T23:11:06.537962" elapsed="481.112206"/>
</suite>
<status status="FAIL" start="2026-08-29T23:11:06.499012" elapsed="481.154185"/>
</suite>
<statistics>
<total>
<stat pass="1" fail="6" skip="0">All Tests</stat>
</total>
<tag>
</tag>
<suite>
<stat name="netconf-gate-callhome.txt" id="s1" pass="1" fail="6" skip="0">netconf-gate-callhome.txt</stat>
<stat name="Callhome" id="s1-s1" pass="1" fail="6" skip="0">netconf-gate-callhome.txt.Callhome</stat>
</suite>
</statistics>
<errors>
</errors>
</robot>
